Burp Suite for Web Application Security Testing: Community Edition Guide
Burp Suite is the industry-standard web application security testing platform. The Community Edition is free and covers proxy interception, manual testing, and the repeater for request manipulation. This guide covers setup, proxying browser traffic, intercepting and modifying requests, using Repeater and Intruder for manual testing, and testing for common OWASP Top 10 vulnerabilities.
Key Takeaways
Burp Proxy intercepts all browser traffic. Configure your browser to route traffic through Burp's proxy (127.0.0.1:8080 by default), and Burp captures every request and response for inspection and modification.
Repeater lets you replay and modify requests. Send any captured request to Repeater, modify parameters, headers, or body, and resend. Essential for manual vulnerability testing.
Intruder automates payload injection. Mark parameters as injection points, load a wordlist, and Intruder sends all payload variations automatically. Useful for brute-forcing and fuzzing.
Scope limits what Burp captures. Add your target domain to Scope and configure Burp to only capture in-scope traffic. Prevents capturing SSO redirects and third-party analytics noise.
Target tab builds a site map. Burp automatically maps every URL it sees. Use the site map to understand the attack surface before starting manual testing.
What Burp Suite Does
Burp Suite acts as an intercepting proxy between your browser and the web server. Every HTTP request your browser makes passes through Burp, which captures it, lets you inspect it, modify it, and replay it.
This interception capability is the foundation of web application security testing. It lets you:
- See exactly what your browser sends (including hidden form fields, cookies, and tokens)
- Modify requests before they reach the server (to test input validation)
- Replay requests with different payloads (to test for injection vulnerabilities)
- Fuzz parameters automatically (to find unexpected behavior)
Installation
Download Burp Suite Community Edition from PortSwigger's website. It runs on macOS, Windows, and Linux (requires Java 17+).
On macOS:
brew install --cask burp-suiteOr download the installer directly from portswigger.net/burp/communitydownload.
Proxy Setup
Burp's proxy listens on 127.0.0.1:8080 by default.
Browser Configuration
Firefox — go to Settings → Network Settings → Manual proxy configuration:
- HTTP Proxy: 127.0.0.1
- Port: 8080
- Also use for HTTPS: checked
Chrome — use a proxy extension like Proxy SwitchyOmega, or launch Chrome with:
google-chrome --proxy-server="http://127.0.0.1:8080"Install Burp's CA Certificate
For HTTPS interception, install Burp's CA certificate:
- With your browser proxied through Burp, visit
http://burpsuite - Click "CA Certificate" to download
cacert.der - In Firefox: Settings → Certificates → View Certificates → Authorities → Import
- In Chrome: Settings → Security → Manage Certificates → Import
After installing the certificate, Burp can intercept HTTPS traffic without certificate errors.
Configuring Scope
Add your target to scope to filter out noise:
- Go to Target → Site Map
- Right-click your target domain → "Add to scope"
- Go to Proxy → Intercept and click "Open browser" to use Burp's embedded Chromium
Configure Burp to only intercept in-scope requests:
- Proxy → Options → Intercept Client Requests: check "And URL Is in target scope"
Core Tools
Proxy Intercept
The Proxy Intercept tab pauses each request so you can inspect and modify it before forwarding:
- Enable interception: Proxy → Intercept → Intercept is on
- Browse your application
- Burp pauses on each request — inspect the raw HTTP
- Modify any field (parameters, headers, body)
- Click "Forward" to send the modified request
HTTP History
Proxy → HTTP History shows all captured requests. Right-click any request to:
- Send to Repeater (for manual testing)
- Send to Intruder (for automated fuzzing)
- Send to Scanner (Pro only)
- Copy as curl command
Repeater
Repeater lets you manually modify and replay requests:
- Send a request to Repeater (right-click → "Send to Repeater")
- Modify any part of the request (parameters, headers, method, body)
- Click "Send" to see the response
- Compare responses to identify vulnerabilities
Example — testing a parameter for SQL injection:
Original request:
GET /products?id=42 HTTP/1.1
Host: example.comModify and test:
GET /products?id=42' HTTP/1.1GET /products?id=42 OR 1=1-- HTTP/1.1GET /products?id=42; DROP TABLE products-- HTTP/1.1If the error response changes (database error message, different content length, different status code), that's a signal worth investigating.
Intruder
Intruder automates payload injection across hundreds or thousands of values:
- Send a request to Intruder
- Highlight the parameter to fuzz → click "Add §" to mark it as an injection point
- Go to the Payloads tab → select payload type:
- Simple list: paste or load a wordlist
- Numbers: sequential numbers (useful for IDOR testing)
- Brute forcer: character combinations
- Click "Start attack" to run all payloads
Community Edition throttles Intruder (one request per second). For speed, use Professional Edition or supplementary tools like ffuf.
Common Intruder use cases:
- IDOR testing: fuzz an object ID parameter with sequential numbers to find unauthorized access
- Username enumeration: test login endpoint with a list of usernames, look for different response times or messages
- Password spraying: try a common password against many usernames
- Header injection: test for Host header injection, response splitting
Testing OWASP Top 10 with Burp
A01: Broken Access Control
Test for Insecure Direct Object References (IDOR):
- Log in as User A, capture a request that accesses a resource:
GET /api/orders/1234 - Send to Intruder, mark the order ID as an injection point
- Use Numbers payload to try IDs in sequence: 1000–2000
- Look for 200 responses — these are IDs you shouldn't have access to
Test for forced browsing:
- Browse the application as a regular user
- Look for admin URLs in the site map:
/admin,/api/admin/users - Send these requests in Repeater and observe whether access is granted
A02: Cryptographic Failures
Look for sensitive data in transit:
- In HTTP History, filter for requests containing sensitive terms:
password,credit_card,ssn - Check that all sensitive endpoints use HTTPS
- Inspect cookies — they should have
SecureandHttpOnlyflags
A03: Injection
Test for SQL injection in every input field:
'
''
'--
' OR '1'='1
1 UNION SELECT null,null,null--Signs of SQL injection:
- Database error messages (MySQL, PostgreSQL error format)
- Different response length for
1vs1' - True/false based responses (
1 OR 1=1returns all results,1 OR 1=2returns normal)
A07: Identification and Authentication Failures
Test session token entropy:
- Log in multiple times, capture the session token each time
- Compare tokens — they should be high-entropy and unpredictable
Test for session fixation:
- Get a session token before login
- Log in
- Check if the session token changed — it should after authentication
Test for predictable password reset tokens:
- Request a password reset
- Request another reset
- Compare token format — sequential or timestamp-based tokens are exploitable
A08: Software and Data Integrity Failures
Check for sensitive data in JavaScript files:
- In the site map, review all JavaScript files
- Look for API keys, internal URLs, and debugging code left in production bundles
Saving and Sharing Findings
Export HTTP traffic for reporting:
- Proxy → HTTP History → select requests → right-click → "Save items"
- Save as a Burp XML file for documentation
Create notes in User Options → Project notes to track findings during testing.
Running Burp in CI (Headless)
Burp Suite Pro has a CLI mode for CI integration. For Community Edition, use OWASP ZAP as a free alternative for automated CI scanning. See the SAST/DAST guide for CI-focused security scanning tools.
Responsible Use
Burp Suite is a security testing tool. Only test applications you own or have explicit written permission to test. Unauthorized security testing is illegal in most jurisdictions.
For testing your own web application during development, pair Burp with:
- A dedicated test environment (not production)
- Test accounts with realistic but fake data
- Scope configuration to prevent accidental testing of third-party systems
Summary
Burp Suite Community Edition provides the core tools for web application security testing:
- Proxy — intercept and inspect all browser traffic
- Repeater — manually modify and replay requests
- Intruder — automate payload injection for fuzzing
- Target/Site Map — understand your attack surface
Start with scope configuration, browse the application, then use Repeater for targeted manual testing of suspicious endpoints. Use Intruder for IDOR testing and input fuzzing. Document findings with request/response pairs captured in HTTP History.