A Network Proxy for web Penetration Testing.

It has free features but more complicated ones are for paid users.

Proxy

This tab is used for storing intercepted traffic before forwarding it to the browser.

It also stored a history of intercepted traffic.

Intercept responses

Burp can be set to intercept responses before they are handled by the browser.

It can be done under proxy -> proxy settings:

This can be useful for showing disabled buttons or changing JavaScript code that restricts input to protect against code injections.

Show hidden form fields in response

It is also possible, without having to alter the front end source code, to show hidden form fields.

This is done under proxy -> proxy settings:

Automatic request/response modification

Burp can make automatic modifications in requests and responses.

This is done in the menu at Proxy -> Proxy settings -> HTTP match and replace rules.

This can be useful when every request requires the same modifications, e.g. changing a blocked user-agent. Or when every response requires the same modifications, e.g. chaining source code that alters input to protect for code injections.

Repeater

This tab is used for repeating requests.

Intercepted requests from the proxy tab can be send here by selecting them and pressing ctrl+r.

It supports encoding selected text to:

  • URL: pressing ctrl+u.
  • HTML: pressing ctrl+h.
  • Base64: pressing ctrl+b.
  • Base64 URL

Decoder

In this tab it is possible to encode/decode text to/from:

  • HTML
  • Unicode
  • Base64
  • ASCII hex
  • Hex
  • Octal
  • Binary
  • Gzip

Intruder

A Web Fuzzing tool that, in the free version, is throttled at a speed of 1 request per second, making it very slow compared to CLI tools like FFUF.

Scanner

A paid feature only.

Can perform active and passive scans.

Passive scans

Scan already identified pages for potential vulnerabilities

Active scans

Performs the following:

  1. starts by running a Crawl and Web Fuzzing to identify all possible pages.
  2. runs a Passive Scan on all identified pages.
  3. checks each of the identified vulnerabilities from the Passive Scan and sends requests to verify them.
  4. performs a JavaScript analysis to identify further potential vulnerabilities.
  5. fuzzes various identified insertion points and parameters to look for common vulnerabilities like XSS, Command Injection, SQL Injection, and other common web vulnerabilities.