Burp Suite Tutorial
Master Every Tool in Burp Suite for Web Security Testing
Introduction to Burp Suite
Burp Suite is the industry-standard toolkit for web application security testing, developed by PortSwigger. Used by security professionals, penetration testers, bug bounty hunters, and ethical hackers worldwide, it provides a comprehensive suite of tools for discovering and exploiting vulnerabilities in web applications.
Whether you are a beginner starting your journey in cybersecurity or an experienced professional conducting penetration tests, Burp Suite offers both manual and automated capabilities to uncover security weaknesses. From intercepting HTTP traffic to automating vulnerability scans, Burp Suite is the backbone of modern web security testing.
In this comprehensive tutorial, we will explore every tool in Burp Suite, understanding their purposes, configurations, and practical applications. By the end of this guide, you will have the knowledge to effectively use Burp Suite for comprehensive web security assessments.
Burp Suite at a Glance
- - Manual Proxy with Intercept
- - Target and Scope configuration
- - Repeater and Decoder
- - Comparer tool
- - Basic Intruder functionality
- - Limited Scanner support
- - Extender with basic support
- - Full automated vulnerability scanner
- - Active and passive scanning
- - Unlimited Intruder attacks
- - Burp Collaborator integration
- - Advanced vulnerability detection
- - Report generation
- - Full extension API access
Dashboard Overview
The Dashboard is your command center in Burp Suite. It provides a unified view of all ongoing activities, including running scans, detected vulnerabilities, and task management. Understanding the Dashboard is essential for managing multiple assessments efficiently.
Dashboard Sections
# Dashboard contains four main quadrants: # 1. Tasks Section # - Active scan tasks # - Crawl tasks # - Background tasks # 2. Event Log # - Application events # - Traffic information # - Error notifications # 3. Active Issues # - Vulnerabilities found # - Confidence levels # - Issue definitions # 4. Advisory Section # - Detailed vulnerability info # - Remediation recommendations
Dashboard Configuration
Configure how the Dashboard displays information and handles new findings.
# Configure issue tracking: # Tools > Database > Options > Issue Tracking # Set new issue alerts: # - Play sound for new issues # - Show popup notification # - Always collapse when starting new task # Issue definitions: # - Customize severity levels # - Define custom issue types # - Set remediation advice
Proxy Tab Deep Dive
The Proxy tab is the heart of Burp Suite functionality. It intercepts all HTTP and HTTPS traffic between your browser and target applications, allowing you to inspect, modify, and analyze web traffic in real-time.
Intercept Sub-Tab
The Intercept tab pauses requests before they are forwarded, allowing you to modify them on-the-fly.
# Intercept Controls: # - Intercept is ON/OFF: Toggle traffic interception # - Forward: Send the request/response to destination # - Drop: Discard the current request # - Action: Opens context menu with options # Keyboard Shortcuts: # - Ctrl+F: Forward current message # - Ctrl+D: Drop current message # - Ctrl+Shift+T: Toggle intercept mode # Request/Response View: # - Headers tab: Edit HTTP headers # - Body tab: Modify request/response body # - Pretty tab: Auto-format JSON, XML, HTML # - Raw tab: View raw unformatted data
HTTP History Sub-Tab
Every request and response passing through the proxy is logged here for review.
# HTTP History Features: # - Chronological list of all requests # - Filter by: host, method, status code, content type # - Search functionality # - Sort by columns: URL, method, status, length, time # Request Selection Actions (Right-click): # - Send to Repeater # - Send to Intruder # - Send to Scanner (Pro) # - Add to Scope # - Add to Site Map # - Do a passive scan # - Delete selected items # Response Display: # - Auto-format HTML, JavaScript, CSS # - Image preview # - HEX view for binary data
WebSockets Sub-Tab
WebSocket traffic interception and analysis for modern real-time web applications.
# WebSocket Support: # - Intercept WebSocket messages # - View bidirectional communication # - Modify messages in real-time # - Log all WebSocket frames # WebSocket History: # - Direction indicator (Client/Server) # - Timestamp and content preview # - Binary/Text format support # - JSON parsing for text messages # Breakpoint Configuration: # - Set on WebSocket frames # - Filter by content patterns # - Auto-forward specific patterns
Proxy Options Configuration
# Proxy > Options Tab Settings: # Proxy Listeners: # - Add/Edit/Delete proxy listeners # - Default: 127.0.0.1:8080 # - Support for multiple interfaces # - Invisible proxy mode support # Intercept Client Requests: # - Enable/disable interception rules # - Filter by file type, MIME type # - Exclude domains from interception # Intercept Server Responses: # - Intercept based on MIME type # - Status code filtering # - URL pattern matching # Response Modification: # - Unhide hidden form fields # - Remove input disabled attribute # - Remove JavaScript form validation # - Convert HTTPS to HTTP links
Target Tab
The Target tab provides comprehensive views of your testing scope, site structure, and application attack surface. Properly utilizing the Target tab ensures organized and focused security testing.
Site Map Sub-Tab
Visual representation of all discovered URLs and their structure within your scope.
# Site Map Features: # - Hierarchical tree view of URLs # - Request count per URL # - Discovery depth control # - Visual indicators for: # - Parameters discovered # - Forms detected # - Links found # - Security issues flagged # Walk This option: # - Crawl discovered links recursively # - Fill forms with test data # - Spider through application # - Build comprehensive site map # Filter Options: # - Show only in-scope items # - Filter by file extension # - Hide CSS, images, videos # - Show parameterized requests
Scope Sub-Tab
Define exactly which targets you are authorized to test, ensuring focused and legal security testing.
# Scope Configuration: # - Include Rules: URLs to test # - Exclude Rules: URLs to avoid # URL Pattern Examples: # - https://example.com (exact) # - .*.example.com.* (subdomains) # - https://api.example.com/v[0-9]+/* (API versions) # Scope Enforcement: # - Don't send items to Proxy # - Don't send items to Scanner # - Only spider within scope # - Only check in-scope items # Use Cases: # - Bug bounty testing # - Penetration test scoping # - Exclude logout endpoints # - Exclude admin panels (if out of scope)
Scanner Tab
The Scanner tab (Professional feature) provides automated vulnerability detection. Burp Scanner systematically crawls and tests applications, identifying security weaknesses ranging from informational issues to critical vulnerabilities.
Passive Scanning
Analyzes existing traffic without sending additional requests. Zero noise, minimal footprints.
- - Information disclosure
- - Missing security headers
- - Cookie security issues
- - Cross-domain Referer leakage
- - URL session tokens in referer
- - Sensitive data in URL parameters
Active Scanning
Probes the target with crafted requests to find exploitable vulnerabilities.
- - SQL Injection
- - Cross-Site Scripting (XSS)
- - Command Injection
- - Path Traversal
- - File Inclusion
- - XML External Entities (XXE)
Scanner Configuration
# Scanner > Options Tab: # Attack Insertion Points: # - URL file parameters # - Body parameters (JSON, XML, Form) # - Cookie values # - HTTP headers # - Named client-side parameters # Scanning Accuracy: # - Fast: Quick scan, fewer checks # - Balanced: Default accuracy # - Thorough: Maximum coverage, slower # Resource Usage: # - Requests per second # - Concurrent connections # - Retry on network failure # Issue Types to Scan: # - Select specific vulnerability categories # - Custom scan configurations # - Ignore certain checks based on scope
Intruder Tab
The Intruder tab is Burp Suite's powerful attack automation engine. It allows you to perform customized attacks by defining injection points and configuring payload sets. Intruder excels at bruteforcing, fuzzing, and enumeration tasks.
Attack Types
Four distinct attack types for different testing scenarios.
# 1. Sniper Attack # - Single payload set # - Iterates through each position one at a time # - Best for single parameter testing # 2. Battering Ram Attack # - Single payload set # - Same payload inserted into all positions # - Best for simple bruteforce # 3. Pitchfork Attack # - Multiple payload sets # - First payload in set1 to position1 # - First payload in set2 to position2 # - Stops at shortest list # - Best for credential testing # 4. Cluster Bomb Attack # - Multiple payload sets # - Every combination tested # - Best for multi-parameter combinations
Payload Types
# Simple List: # - Load wordlists from file # - Runtime file list for large lists # - Paste custom payloads # Runtime File: # - Efficient for massive wordlists # - Streamed from disk, not memory # - Great for thousands of entries # Numbers: # - Sequential number sequences # - Step: increment value # - RADIX options: decimal, hex, octal # - Format string customization # Brute Forcer: # - Character set definition # - Length range specification # - Min/Max character sets # Empty Payloads: # - Repeat previous payload # - Null payloads (original value) # - Character frobber (sequential char changes) # Case Modification: # - Add custom rules # - Case modifications # - Find/Replace operations # - Bit flipper for binary fuzzing # - Unicode scrambler
Practical Intruder Use Cases
Repeater Tab
The Repeater tab is essential for manual web security testing. It allows you to craft, modify, and resend individual HTTP requests, enabling precise testing of vulnerabilities without the overhead of running full attack campaigns.
Repeater Workflow
# Using Repeater Effectively: # 1. Sending Requests to Repeater # - Right-click in Proxy History > Send to Repeater # - Right-click in Site Map > Send to Repeater # - Keyboard: Ctrl+R # 2. Request Modification # - Edit headers manually # - Modify body content (JSON, XML, Form) # - Change HTTP method # - Update URL parameters # 3. Request Organization # - Create multiple tabs # - Label tabs for organization # - Duplicate tabs for variations # - Reorder tabs by drag-and-drop # 4. Response Analysis # - View formatted responses # - Compare responses side-by-side # - Analyze timing differences # - Search within responses # 5. Repeater Options # - Follow redirects automatically # - Process cookies in responses # - Update referer headers # - Enable HTTP/2 support
Common Repeater Testing Scenarios
Sequencer Tab
The Sequencer analyzes the randomness and unpredictability of security-critical tokens and data. Weak randomness in tokens can lead to session hijacking, token prediction, and other serious security vulnerabilities.
Token Analysis Process
# Sequencer Analysis Workflow: # 1. Token Capture Setup # - Live Capture: Visit pages generating tokens # - Manual Load: Provide token samples from file # - Define token extraction regex # 2. Sample Collection # - Automatic request generation # - Burp collects token samples # - Minimum 10,000 samples recommended # - Stop when sufficient entropy detected # 3. Analysis Tests Performed # - Character set analysis # - Character position analysis # - Transition matrix analysis # - FIPS monobit test # - FIPS poker test # - FIPS runs test # - FIPS long runs test # - Spin bit test # - Correlation test # 4. Interpretation of Results # - Overall entropy quality score # - Individual test results # - Estimated bit strength # - Effective keyspace
What to Analyze
- - Session ID tokens
- - Anti-CSRF tokens
- - Authentication tokens
- - Password reset tokens
- - API keys
- - CSRF tokens
- - OAuth state parameters
Warning Signs
- - Low entropy score
- - Predictable patterns
- - Sequential generation
- - Time-based patterns
- - Small character set
- - Short token length
- - Base64 encoded sequential IDs
Decoder Tab
The Decoder is Burp Suite's encoding utility, supporting a wide range of encoding schemes. Essential for analyzing encoded parameters, crafting payloads, and converting between formats during security testing.
Supported Encoding Formats
# Encoding/Decoding Support: # URL Encoding: # - URL encode/decode # - Full and partial encoding # - Unicode URL encoding # Base64: # - Base64 encode/decode # - Base64 URL-safe variant # - Base32 support # - Base16 (Hex) support # Cryptographic: # - MD5 hashing # - SHA-1 hash # - SHA-256/384/512 hash # - AES encryption (Pro) # HTML: # - HTML entity encode # - HTML entity decode # - Decimal and hex entities # Other: # - ASCII to Binary # - Binary to ASCII # - Hex dump format # - GZIP compression # - Unicode normalization
Decoder Workflow
# Using the Decoder: # 1. Text Input # - Type or paste text # - Drag-drop text into decoder # - Send from other Burp tools # 2. Smart Decode # - Auto-detect encoding # - Analyze byte patterns # - Suggest transformations # 3. Multiple Transformations # - Chain encoding operations # - Apply sequentially # - Visual decode tree # 4. Analysis Mode # - Highlight special characters # - Show byte frequencies # - Detect encoding patterns # Common Testing Scenarios: # - Decode XSS payloads in hidden parameters # - Re-encode injections to bypass filters # - Analyze authentication token structure # - Extract embedded data in URLs
Comparer Tab
The Comparer enables side-by-side comparison of two pieces of data, perfect for analyzing differences between responses. Essential for identifying subtle changes that may indicate vulnerabilities or interessante behavior.
Comparison Features
# What can be compared: # - HTTP requests # - HTTP responses # - Request/response pairs # - Any text or binary data # Comparison Views: # 1. Text View # - Side-by-side comparison # - Highlighted differences # - Line numbers # - Word-level highlighting # 2. Grammar邹化 View # - Color-coded by data type # - Similar blocks highlighted # - HTML structure visualization # 3. Hex View # - Binary data comparison # - Byte-level differences # - Offset display # - ASCII sidebar # Loading Items: # - Paste from clipboard # - Load from file # - Send from other Burp tabs # - Drag and drop support
Practical Comparison Use Cases
Extender Tab
The Extender tab provides access to Burp Suite's extensibility ecosystem. Extend Burp's functionality with community extensions, custom tools, and integrated APIs to match your specific testing needs.
BApp Store
Central repository of community-developed extensions.
- - Active Scan++: Enhanced scanning
- - Logger++: Comprehensive logging
- - AutoRepeater: Auto modification
- - JSON Beautifier: Format JSON
- - Hackvertor: Advanced encoding
- - Autorize: Authorization testing
- - Reflector: XSS detection
Extension Development
Build custom extensions using Burp's API.
- - Java development
- - Python (Jython) support
- - Ruby (JRuby) support
- - Custom scanner checks
- - Custom proxy rules
- - Custom Intruder payloads
- - Intruder attack types
Popular Extension Configuration
# Installing Extensions:
# From BApp Store:
# 1. Extender > BApp Store tab
# 2. Select extension
# 3. Click "Install"
# 4. Accept dependencies if prompted
# From File (Python extensions):
# 1. Install Jython standalone JAR
# 2. Extender > Options > Python Environment
# 3. Set Jython path
# 4. Extender > Extensions > Add
# 5. Select extension file
# Extension Settings:
{
"Logger++": {
"Capture Proxy": true,
"Capture Scanner": true,
"Max rows": 1000000
},
"Active Scan++": {
"Insertion Point Types": "all"
}
}Practical Examples and Use Cases
Let us walk through real-world security testing scenarios using Burp Suite tools together.
Example 1: Testing for SQL Injection
# 1. Browse to target application # - Enable proxy in Firefox # - Navigate through login form # 2. Find interesting requests # - Review HTTP History # - Look for form submissions # - Identify parameter endpoints # 3. Send to Repeater # - Right-click request > Send to Repeater # - Modify parameter value: username=admin' OR '1'='1 password=test # 4. If injectable, test further: username=admin' UNION SELECT 1,2,3-- username=admin' WAITFOR DELAY '0:0:5'-- # 5. Use Intruder for automated testing: # - Load SQL injection wordlist # - Sniper attack on parameter # - Review response differences
Example 2: Testing for XSS in Search Parameter
# 1. Locate search functionality # - Browse the target # - Make a search request # 2. Analyze the request # - Check if output is reflected # - Find if reflected in HTML, JS, or attribute # 3. Test basic XSS: GET /search?q=<script>alert(1)</script> # 4. Test different contexts: ?q=</script><script>alert(1)</script> ?q=<img src=x onerror=alert(1)> ?q=<svg onload=alert(1)> ?q='onclick=alert(1)// # 5. Use Intruder for encoding bypass testing: # - Payload: <script>alert(1)</script> # - Add processing: URL-encode # - Double-encode payloads # - Mixed encoding tests
Example 3: Session Hijacking Testing
# 1. Capture session tokens # - Login to application # - Capture session cookie # - Note the format # 2. Analyze with Sequencer # - Send to Sequencer # - Collect 10,000+ samples # - Run entropy analysis # 3. Test token predictability # - Session ID: SESSION=a1b2c3d4 # - Analyze structure # - Check for sequential IDs # - Look for time-based patterns # 4. Test session Fixation # - Obtain valid session # - Force user to use it # - Check if session changes post-auth # - Send session to Repeater for testing # 5. Check session timeout # - Leave session idle # - Check timeout behavior # - Review session renewal
Example 4: IDOR Testing in User Profile
# 1. Log in as User A # - Navigate to Profile # - Request: GET /api/user/1001/profile # 2. Capture the request # - Send to Repeater # - Note the parameter format # 3. Test IDOR: # - Change to User B's ID # - GET /api/user/1002/profile # - Check if data is returned # 4. Use Intruder for mass testing: # - Capture valid ID as template # - Pitchfork with numbers 1001-2000 # - Check for successful (data leak) vs 403 # 5. Check for Horizontal/Vertical privilege escalation # - Admin to user data access # - User to admin panel access # - Cross-tenant data access
Example 5: API Security Testing
# 1. Discover API endpoints # - Site Map will list discovered APIs # - Look for /api/, /v1/, /v2/ paths # - Check Swagger/OpenAPI docs # 2. Test API authentication # - Request without token (401?) # - Request with invalid token # - Test token expiration # 3. Test HTTP methods # - GET /api/users # - POST /api/users # - PUT /api/users/1 # - DELETE /api/users/1 # - PATCH /api/users/1 # - Check for proper method enforcement # 4. Test for mass assignment # - Create request with extra fields # - POST with "role": "admin" # - Check if fields are accepted # 5. Use Decoder for JWT testing # - Decode JWT tokens # - Analyze claims # - Test algorithm confusion # - Check for "none" algorithm
Burp Suite Workflow Best Practices
Efficient security testing requires a structured approach. Follow these best practices for effective Burp usage.
Frequently Asked Questions
Common questions about Burp Suite answered by our security experts.
What is Burp Suite used for in web security testing?
Burp Suite is a comprehensive web application security testing platform used by security professionals to identify vulnerabilities. It intercepts HTTP/HTTPS traffic, automates vulnerability scanning, and provides tools for manual testing including proxy, scanner, intruder, repeater, decoder, and more. It is considered the industry standard for web application penetration testing.
How does the Proxy tab in Burp Suite work?
The Proxy tab acts as an HTTP/HTTPS proxy server that intercepts all traffic between your browser and target applications. It features three main sub-tabs: Intercept for modifying requests on-the-fly, HTTP History for logging all requests, and WebSockets for websocket traffic analysis. Toggle intercept mode to pause and modify requests before they reach the server. You can also configure match and replace rules to automatically modify traffic.
What is the difference between active and passive scanning in Burp Suite?
Passive scanning analyzes existing traffic without sending additional requests, checking for issues like information disclosure, missing security headers, and potential vulnerabilities in captured data. It is silent and produces no footprint. Active scanning sends crafted requests to the target to actively probe for vulnerabilities like SQL injection, XSS, command injection, path traversal, and other exploitable weaknesses. Active scanning should only be performed on authorized targets as it generates simulated attack traffic.
How do I use Burp Intruder for fuzzing and bruteforcing?
Burp Intruder automates customized attacks by allowing you to define injection points in requests and configure payload sets. It supports multiple attack types including Sniper for single payload at each point, Battering Ram for same payload at all points, Pitchfork for multiple payload sets in parallel, and Cluster Bomb for all combinations. Use it for parameter fuzzing with wordlists, credential bruteforcing with username/password combinations, and enumerating valid values like user IDs or product codes.
What are the best Burp Suite extensions for web security testing?
Essential Burp Suite extensions include: Active Scan++ for enhanced vulnerability scanning with additional checks, Logger++ for comprehensive request/response logging to a searchable table, AutoRepeater for automatic request modification and replay rules, JSON Beautifier for formatting JSON responses, Hackvertor for advanced tag-based encoding and decoding, Autorize for automatic authorization testing, and Burp Collaborator for detecting out-of-band vulnerabilities like SSRF, blind SQL injection, and blind XSS.
Can Burp Suite detect all types of web vulnerabilities?
Burp Suite Professional automated scanner can detect over 300 vulnerability types including SQL injection, cross-site scripting (XSS), command injection, path traversal, information disclosure, authentication flaws, session management issues, access control problems, and more. However, manual testing with tools like Repeater, Intruder, and Sequencer is often necessary to find complex business logic vulnerabilities, race conditions, authentication flaws, and vulnerabilities that require specific test cases that automated tools may not generate.
What is the Burp Suite Sequencer used for?
The Burp Suite Sequencer analyzes the randomness and unpredictability of tokens, session identifiers, anti-CSRF tokens, and other security-critical data. It collects samples and performs multiple statistical tests to determine if tokens have sufficient entropy for security purposes. Weak randomness in session tokens can lead to session hijacking attacks where attackers predict valid session IDs. Weak anti-CSRF tokens can be brute-forced, enabling cross-site request forgery attacks. The Sequencer helps identify these critical vulnerabilities before attackers exploit them.
Related Security Courses
Continue your web security journey with our comprehensive training programs.
Master penetration testing methodologies, Burp Suite, vulnerability exploitation, and professional security assessments.
Deep dive into OWASP Top 10 vulnerabilities, advanced injection attacks, and web application attack chains.
Complete vulnerability assessment and penetration testing training with hands-on labs and real-world scenarios.
Learn professional bug hunting techniques, recon methodologies, and how to find high-value vulnerabilities.
Master Web Penetration Testing
Learn advanced Burp Suite techniques, web vulnerability testing, and professional security auditing in our comprehensive ethical hacking course.
