Skip to content

Latest commit

 

History

History
344 lines (184 loc) · 11 KB

burp-suite-the-basics.md

File metadata and controls

344 lines (184 loc) · 11 KB
description
An introduction to using Burp Suite for Web Application pentesting

🟧 Burp Suite: The Basics

{% 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

Task 1 Introduction Outline

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 %}

Task 2 Getting Started What is Burp Suite?

Which edition of Burp Suite will we be using in this module?

{% hint style="warning" %} HINT: The task above contains the answer in bold text. Paragraph Three. {% endhint %}

Reveal Flag 🚩

🚩Burp Suite Community

Which edition of Burp Suite runs on a server and provides constant scanning for target web apps?

Reveal Flag 🚩

🚩Burp Suite Enterprise

Burp Suite is frequently used when attacking web applications and ______ applications.

{% hint style="warning" %} HINT: Fill in the blank {% endhint %}

Reveal Flag 🚩

🚩Mobile

Task 3 Getting Started Features of Burp Community

Which Burp Suite feature allows us to intercept requests between ourselves and the target?

Reveal Flag 🚩

🚩Proxy

Which Burp tool would we use if we wanted to bruteforce a login form?

Reveal Flag 🚩

🚩Intruder

Task 4 Getting Started Installation

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 %}

Task 5 Getting Started The Dashboard

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 %}

Task 6 Getting Started Navigation

Get comfortable navigating around the top menu bars.

{% hint style="success" %} No answer needed {% endhint %}

Task 7 Getting Started Options

Change the Burp Suite theme to dark mode

{% hint style="success" %} No answer needed {% endhint %}

In which Project options sub-tab can you find reference to a "Cookie jar"?

Reveal Flag 🚩

🚩Sessions

In which User options sub-tab can you change the Burp Suite update behaviour?

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 %}

Task 8 Proxy Introduction to the Burp Proxy

Which button would we choose to send an intercepted request to the target in Burp Proxy?

Reveal Flag 🚩

🚩Forward

[Research] What is the default keybind for this?

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

Task 9 Proxy Connecting through the Proxy (FoxyProxy)

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 %}

Task 10 Proxy Proxying HTTPS

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 %}

Task 11 Proxy The Burp Suite Browser

Using the in-built browser, make a request to http://MACHINE_IP/ and capture it in the proxy.

{% hint style="success" %} No answer needed {% endhint %}

Task 12 Proxy Scoping and Targeting

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 %}

Task 13 Proxy Site Map and Issue Definitions

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

\

Task 14 Practical Example Attack

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 %}

Task 15 Conclusion Room Conclusion

{% embed url="https://tryhackme.com/room/burpsuiterepeater" %} https://tryhackme.com/room/burpsuiterepeater {% endembed %}

I understand the fundamentals of using Burp Suite!

{% hint style="success" %} No answer needed {% endhint %}