OSCP · OSWP · PWPP · PWPA · PAPA · EnCE · Linux+ · LPIC-1 · Network+ · Security+ · Pentest+ · eJPT · eWPT · BSc · PGCert
Furhire (SSRF) (Weekly)

Shoutout to AkiraOwen for his writeup/fuzzing method. This lab is/was a bit of a jigsaw which required putting the right pieces in order to solve it.
Due to past experience with FurHire, you usually have to create two accounts. So, I began by doing this.

I registered a recruiter and a user:
Recruiter account
recruiter1password123recruiter1@test.com6recruiterUser account
user1password123user1@test.com7userI then registered a company (owned by recruiter1):
Company
TestCorpTechnologyTest CityI fuzzed endpoints e.g <labURL>/<FUZZ> and found “/reporting” returned a 403.

URLs that didn’t exist returned a 404:

Next, I logged in as the recruiter and posted a job, using the URL I discovered in the previous step as the URL:

From here, I logged in using the user1 account (job seeker) and browsed to the job that I posted as the recruiter. This performed a GET request to /api/company/3/logo and returned the flag and confirmed a successful second order SSRF to bypass a 403 forbidden:

Thanks for following along!