description |
---|
An introduction to using Burp Suite for Web Application pentesting |
{% embed url="https://tryhackme.com/room/burpsuitebasics" %} https://tryhackme.com/room/burpsuitebasics {% endembed %}
Room Attributes | Value |
---|---|
Subscription Required | False [Free] |
Type | Walkthrough |
Difficulty | Info |
Tags | Burp Suite, Webapp, Tutorial, Toolkit |
Deploy the machine attached to the task by pressing the green "Start Machine" button, as well as the AttackBox (using the "Start AttackBox" button at the top of the page) if you are not using your own machine.
{% hint style="success" %} No answer needed {% endhint %}
{% hint style="warning" %} HINT: The task above contains the answer in bold text. Paragraph Three. {% endhint %}
Reveal Flag 🚩
🚩Burp Suite Community
Reveal Flag 🚩
🚩Burp Suite Enterprise
{% hint style="warning" %} HINT: Fill in the blank {% endhint %}
Reveal Flag 🚩
🚩Mobile
Reveal Flag 🚩
🚩Proxy
Reveal Flag 🚩
🚩Intruder
If you have chosen not to use the AttackBox, make sure that you have a copy of Burp Suite installed before proceeding.
{% hint style="success" %} No answer needed {% endhint %}
Open Burp Suite and have a look around the dashboard. Make sure that you are comfortable with it before moving on.
{% hint style="success" %} No answer needed {% endhint %}
{% hint style="success" %} No answer needed {% endhint %}
{% hint style="success" %} No answer needed {% endhint %}
Reveal Flag 🚩
🚩Sessions
Reveal Flag 🚩
🚩Misc
What is the name of the section within the User options "Misc" sub-tab which allows you to change the Burp Suite keybindings?
Reveal Flag 🚩
🚩Hotkeys
If we have uploaded Client-Side TLS certificates in the User options tab, can we override these on a per-project basis (Aye/Nay)?
Reveal Flag 🚩
🚩Aye
There are many more configuration options available. Take the time to read through them. In the next section, we will cover the Burp Proxy -- a much more hands-on aspect of the room.
{% hint style="success" %} No answer needed {% endhint %}
Reveal Flag 🚩
🚩Forward
Note: Assume you are using Windows or Linux (i.e. swap Cmd for Ctrl).
{% hint style="warning" %} HINT: Use what you learnt in a previous task to look up the keybindings used in Burp Suite, then find a keybinding related to forwarding intercepted proxy messages. {% endhint %}
Reveal Flag 🚩
🚩Ctrl+F
Read through the options in the right-click menu. There is one particularly useful option that allows you to intercept and modify the response to your request. What is this option?
Note: The option is in a dropdown sub-menu.
Reveal Flag 🚩
🚩Response to this request
[Bonus Question -- Optional] Try installing FoxyProxy standard and have a look at the pattern matching features.
{% hint style="success" %} No answer needed {% endhint %}
If you are not using the AttackBox, configure Firefox (or your browser of choice) to accept the Portswigger CA certificate for TLS communication through the Burp Proxy.
{% hint style="success" %} No answer needed {% endhint %}
{% hint style="success" %} No answer needed {% endhint %}
Add http://MACHINE_IP/
to your scope and change the Proxy settings to only intercept traffic to in-scope targets. See the difference between the amount of traffic getting caught by the proxy before and after limiting the scope.
{% hint style="success" %} No answer needed {% endhint %}
Take a look around the site on http://MACHINE_IP/
-- we will be using this a lot throughout the module. Visit every page linked to from the homepage, then check your sitemap -- one endpoint should stand out as being very unusual! Visit this in your browser (or use the "Response" section of the site map entry for that endpoint). What is the flag you receive?
{% hint style="warning" %} HINT: You are looking for a suspicious page with a name made up of a series of random letters and numbers. {% endhint %}
Reveal Flag 🚩
🚩THM{NmNlZTliNGE1MWU1ZTQzMzgzNmFiNWVk}
Look through the Issue Definitions list. What is the typical severity of a Vulnerable JavaScript dependency?
Reveal Flag 🚩
🚩Low
\
Try typing: <script>alert("Succ3ssful XSS")</script>
, into the "Contact Email" field. You should find that there is a client-side filter in place which prevents you from adding any special characters that aren't allowed in email addresses:
{% hint style="success" %} No answer needed {% endhint %}
Fortunately for us, client-side filters are absurdly easy to bypass. There are a variety of ways we could disable the script or just prevent it from loading in the first place. Let's focus on simply bypassing the filter for now. First, make sure that your Burp Proxy is active and that the intercept is on.
{% hint style="success" %} No answer needed {% endhint %}
Now, enter some legitimate data into the support form. For example: "[email protected]" as an email address, and "Test Attack" as a query. Submit the form -- the request should be intercepted by the proxy.
{% hint style="success" %} No answer needed {% endhint %}
With the request captured in the proxy, we can now change the email field to be our very simple payload from above: <script>alert("Succ3ssful XSS")</script>
. After pasting in the payload, we need to select it, then URL encode it with the Ctrl + U
shortcut to make it safe to send.
{% hint style="success" %} No answer needed {% endhint %}
Finally, press the "Forward" button to send the request. You should find that you get an alert box from the site indicating a successful XSS attack!
{% hint style="success" %} No answer needed {% endhint %}
Congratulations, you bypassed the filter! Don't expect it to be quite so easy in real life, but this should hopefully give you an idea of the kind of situation in which Burp Proxy can be useful.
{% hint style="success" %} No answer needed {% endhint %}
{% embed url="https://tryhackme.com/room/burpsuiterepeater" %} https://tryhackme.com/room/burpsuiterepeater {% endembed %}
{% hint style="success" %} No answer needed {% endhint %}