Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions content/learning-path/5/module-1.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,28 +63,28 @@ Two popular intercepting web proxies used for security assessments are Portswigg

To get started with Burp, you must first [download it](https://portswigger.net/burp/releases/community/latest). Once you’ve got it downloaded and installed, open the application. Before you start using Burp, it will prompt you to specify a project and a configuration. Projects let you keep track of your progress testing a site between sessions, but are not supported in the free edition, so just select “Temporary project”. You can also specify different sets of configurations, for now just select “Use Burp defaults.”

![alt_text](/media/uploads/image1.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp1.png "image_tooltip")

![alt_text](/media/uploads/image2.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp2.png "image_tooltip")

This will take you to the main Burp window. The primary tabs that you’ll be using are the “Proxy” and “Intruder” tabs. For now, switch to the Proxy tab and click the “Open Browser” button. This will open a Chromium instance that’s fully configured to use Burp. This embedded browser is configured to use Burp as its proxy and has its TLS configuration changed to allow Burp to intercept encrypted traffic. You can use this browser instance for testing web applications while you use your normal browser for general browsing.

![alt_text](/media/uploads/image3.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp3.png "image_tooltip")

![alt_text](/media/uploads/image4.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp4.png "image_tooltip")

For now, type the URL of any website into Burp’s embedded browser and hit enter. You’ll note that nothing happens in the browser. Switch back to Burp, and you’ll see the HTTP request that the browser sent, and a button lit up that says “Intercept is on.” What has happened is that Burp has received the request from your browser but has not forwarded it to the web server. Instead, it’s allowing you to inspect and modify the request. For now, click the “intercept is on” button to turn off interception. If you look at Burp’s embedded Chromium, you should see the web page loaded. Switch back to Burp, and click the “HTTP History” sub-tab of the Proxy tab. You will see a log of all the HTTP requests that your browser has sent. If you click on one, you can see the full request, and also the response from the server.

![alt_text](/media/uploads/image5.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp5.png "image_tooltip")

If you want to modify a request that’s already been sent, right-click that request and select “Send to Repeater”. Switch to the Repeater tab, and you will see the request on the left. A good practice is to immediately click the “Send” button to get a normal response. You can then edit the request, and send the edited request. You can use the “<” and “>” buttons to see prior requests and responses. Using the repeater tab is extremely important when performing security assessments, as you will see in the later subtopics.

![alt_text](/media/uploads/image6.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp6.png "image_tooltip")
z

One important feature of the Repeater interface is the “URL-encode as you type” feature. This will automatically encode characters as you type them, saving you many mistakes and a lot of time. Depending on what you’re modifying, you will either want this feature on or off. To change the setting, right-click on the Request pane and select the menu item.

![alt_text](/media/uploads/image7.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_burp7.png "image_tooltip")

This will get you started with Burp Suite. The free Community Edition is enough for this learning path, although most people who get paid to perform security assessments of websites elect to subscribe to the Professional Edition. Both the free and paid version include a large number of features, which are documented on the [Portswigger website](https://portswigger.net/burp/documentation). You’ll be going much more in depth into Burp in most of the following subtopics (though you can use any proxy you want, if you prefer).

Expand All @@ -94,15 +94,15 @@ For all of the subtopics about vulnerability classes, the vast majority of the r

In the subtopics below, each subtopic will assign a section of reading and labs from the PortSwigger Academy. When you’re completing those assignments, be sure to go through all the pages and complete all of the “apprentice” level labs. You should also attempt all of the “practitioner” level labs, but try not to get hung up on any one lab. If you get stuck on a particular practitioner lab, simply move on, and come back to it before you complete the final skill validation exercise of the learning path.

![alt_text](/media/uploads/image8.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_PortSwigger_screenshot1.png "image_tooltip")

The PortSwigger Academy XSS topic. Be sure to go through all the subtopics. “What is XSS” through “Testing” are all one web page, but each subtopic is its own page.

![alt_text](/media/uploads/image9.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_PortSwigger_screenshot2.png "image_tooltip")

The PortSwigger Academy Reflected XSS subtopic. Note the lab linked towards the bottom of the screenshot.

![alt_text](/media/uploads/image10.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_PortSwigger_screenshot3.png "image_tooltip")

After completing a topic (e.g. XSS), double-check your lab completion by checking the “View all _topic_ labs” link. This will let you see any labs that you missed.

Expand Down
4 changes: 2 additions & 2 deletions content/learning-path/5/module-6.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ If you were testing a forum website that allowed multiple sub-forums, you might

Once you’ve got the user accounts you need, you can start making a site map. The site map will guide your testing, and will function as your checklist for testing. As as example, you might produce something like this:

![alt_text](/media/uploads/image1.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_testing_table1.png "image_tooltip")

This shows every page you’ve found in the app (“URL” column), its logical navigation, whether the content of the page changes depending on its parameters (“User-specific?” column), and then whether each user type has access to the URL. There’s also a “notes” column for you to collect important info about the page, e.g., if the profile page shows very different content depending on the user of the person viewing the page or if data input on one page shows up on another. Some sites may not fit nicely into this particular structure. That’s fine, the structure should be specific to the site, so feel free to change it. However, something like this should work for most sites.

Expand All @@ -64,7 +64,7 @@ Most people elect to keep their notes from these tests in a text file, as oppose

Now that you understand the site, you can dive into the biggest part of testing the site: testing every page (and every input) for the full battery of tests in the rest of the methodology. This is going to be a lot to keep track of, and if you don’t stay focused and keep track, you will miss things. Fortunately, you’ve prepared a spreadsheet. All you need to do is expand that spreadsheet and you’ve got a full checklist:

![alt_text](/media/uploads/image2.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_testing_table2.png "image_tooltip")

This might seem daunting, but every cell in that sheet is a small, discrete chunk of work that should take a bounded amount of time. It’s usually more effective to go through the site filling out rows first; choose a page and go through the entire methodology, rather than performing one test throughout the entire site. As you go, put something like a “√” in cells as you complete them, or something like “n/a” if the tests don’t apply. Over the hours and days, your checklist will get filled in, and you can be confident that you’ve performed complete testing.

Expand Down
12 changes: 6 additions & 6 deletions content/learning-path/5/module-7.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,23 +104,23 @@ ZAP (SSP’s Zed Attack Proxy) is an open-source alternative to Burp. Though mos

For this practice, we’ll be using ZAP’s scanner module. To get a feel for it, first, make sure you’ve got an instance of DIWA running, then simply open ZAP and click “Automated Scan”, put in the URL of your DIWA home page, and click “Attack”.

![alt_text](/media/uploads/image1.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_ZAP1.png "image_tooltip")

![alt_text](/media/uploads/image2.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_ZAP2.png "image_tooltip")

Since DIWA is a small app, this scan should complete rather quickly. If nothing went horribly wrong, you’ll note that ZAP’s scanner found some issues. However, unless ZAP has changed significantly, the ZAP results may be somewhat underwhelming. There may be some small issues that ZAP found and you didn’t, but ZAP should’ve missed most of the big issues you found.

Let’s see if we can improve this. Click the “Quick Start” button in the secondary toolbar, and then the “<” in the pane below. From there, click “Manual Explore”, put in the URL of your DIWA, and then click “Launch Browser”.

![alt_text](/media/uploads/image3.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_ZAP3.png "image_tooltip")

![alt_text](/media/uploads/image4.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_ZAP4.png "image_tooltip")

Click around the site a bit, and make sure that when you’re done you’re logged into the site as an administrative user. Now, go back to ZAP and launch a scan by right-clicking the DIWA site in the left bar and launching an active scan with the default setup.

![alt_text](/media/uploads/image5.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_ZAP5.png "image_tooltip")

![alt_text](/media/uploads/image6.png "image_tooltip")
![alt_text](/media/uploads/web_security_assessment_ZAP6.png "image_tooltip")

This scan should take significantly longer and give significantly different better results. Why did this happen? Launching the scan from a site you’ve visited in the “Sites” section gives the scanner a lot more information than the fully automated scan gets. In fact, the results you get from the scanner may differ greatly based on how you manually explore the site prior to running the scan.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading