TryHackMe : How the Web Works — HTTP in Detail a Walkthrough

Jasmine Parks
7 min readMar 18, 2022

This is a step-by-step walkthrough of TryHackMe’s HTTP in Detail room, with screenshots.

Task 1: What is HTTP(S)

Question 1: “What does HTTP stand for?”
Per THM: HyperText Transfer Protocol

TryHackMe Screenshot

Question 2: “What does the S in HTTPS stand for?”
Per THM: Secure

TryHackMe Screenshot

Question 3: “On the mock webpage on the right there is an issue, once you’ve found it, click on it. What is the challenge flag?”

Click on “View Site”

TryHackMe Screenshot

This page will load:

TryHackMe Screenshot

Click on the crossed-out lock in the URL bar and the following box will pop up, giving you the flag:

TryHackMe Screenshot

Copy and paste the flag into the answer box:

TryHackMe Screenshot

Question 4: “What HTTP protocol is being used in the above example?”
Per THM: HTTP/1.1

TryHackMe Screenshot

Question 5: “What response header tells the browser how much data to expect?”
Per THM: Content-Length

TryHackMe Screenshot

Task 3: HTTP Methods

Question 6: “What method would be used to create a new user account?”
Per THM: POST

TryHackMe Screenshot

Question 7: “What method would be used to update your email address?”
Per THM: PUT

TryHackMe Screenshot

Question 8: “What method would be used to remove a picture you’ve uploaded to your account?”
Per THM: DELETE

TryHackMe Screenshot

Question 9: “What method would be used to view a news article?”
Per THM: GET

TryHackMe Screenshot

Task 4: HTTP Status Codes

Click on “View Site”

TryHackMe Screenshot

The following page will load in your browser:

TryHackMe Screenshot

Click on each to get an idea of what these codes will look like:

403 Error — TryHackMe Screenshot
404 Error — TryHackMe Screenshot
503 Error — TryHackMe Screenshot

Question 10: “What response code might you receive if you’ve created a new user or blog post article?”
Per THM: 201

TryHackMe Screenshot

Question 11: “What response code might you receive if you’ve tried to access a page that doesn’t exist?”
Per THM: 404

TryHackMe Screenshot

Question 12: “What response code might you receive if the web server cannot access its database and the application crashes?”
Per THM: 503

TryHackMe Screenshot

Question 13: “What response code might you receive if you try to edit your profile without logging in first?”
Per THM: 401

TryHackMe Screenshot

Task 5: Headers

Question 14: “What header tells the web server what browser is being used?”
Per THM: User-Agent

TryHackMe Screenshot

Question 15: “What header tells the browser what type of data is being returned?”
Per THM: Content-Type

TryHackMe Screenshot

Question 16: “What header tells the web server which website is being requested?”
Per THM: Host

TryHackMe Screenshot

Task 6: Cookies

Click on “View Site” to get a look at how to navigate to the Developer Tools on various browsers.

Question 17: “Which header is used to save cookies to your computer?”
Per THM: Set-Cookie

TryHackMe Screenshot

Task 7: Making Requests

Click on “View Site”

TryHackMe Screenshot

This will open a window in your browser:

TryHackMe Screenshot

Question 18: “Make a GET request to /room”

In the dropdown box, select “GET”, after the url type “/room”.

TryHackMe Screenshot

Click the “Go” button. This will reveal the flag:

TryHackMe Screenshot

Copy and paste the flag into the answer box:

TryHackMe Screenshot

Question 19: “Make a GET request to /blog and using the gear icon set the id parameter to 1 in the URL field.”

In the dropdown box, select “GET”. In the URL add “/blog” at the end.

TryHackMe Screenshot

Click on the gear icon. In the pop-up box, in the “key” field enter “id”. In the “value” field, enter “1”. Click the save icon. Click the “x” to exit the pop-up.

TryHackMe Screenshot

Click “Go” and the flag will be revealed:

TryHackMe Screenshot

Copy and paste the flag into the answer box:

TryHackMe Screenshot

Question 20: “Make a DELETE request to /user/1”

In the dropdown box, select “DELETE”. In the URL, enter “/user/1”.

TryHackMe Screenshot

Click the “Go” button and the flag will be revealed:

TryHackMe Screenshot

Copy and paste the flag into the answer box:

TryHackMe Screenshot

Question 21: “Make a PUT request to /user/2 with the username parameter set to admin.”

In the dropdown box, select “PUT”. In the URL add “/user/2”.

TryHackMe Screenshot

Click on the gear icon. In the “key” field, enter “username”. In the “value” field enter “admin”. Click the save icon. Click on the “x” to exit the pop-up.

TryHackMe Screenshot

Click “Go” and the flag will be revealed:

TryHackMe Screenshot

Copy and paste the flag into the answer box:

TryHackMe Screenshot

Question 22: “POST the username of thm and a password of letmein to /login.”

In the dropdown box, select “POST”. In the URL, add “/login”.

TryHackMe Screenshot

In the pop-up box, in the “key” field, enter “username”. In the “value” field, enter “thm”. Click the save icon. Repeat the process for “password” and “letmein”. Click the “x” to close out the pop-up.

TryHackMe Screenshot

Click “Go” and the flag will be revealed:

TryHackMe Screenshot

Copy and paste the flag into the answer field:

TryHackMe Screenshot

Thank you for reading. If you think I bring you value, please clap and subscribe for more content.

--

--