C

Comprehensive Burp Module

Powerful skill for skill, should, used, user. Includes structured workflows, validation checks, and reusable patterns for security.

SkillClipticssecurityv1.0.0MIT
0 views0 copies

Comprehensive Burp Module

Master Burp Suite Professional for web application security testing, covering proxy configuration, scanner usage, Intruder attacks, Repeater analysis, extension development, and automated vulnerability assessment within authorized penetration testing engagements.

When to Use This Skill

Choose Comprehensive Burp Module when you need to:

  • Intercept and modify HTTP/HTTPS traffic for web application testing
  • Run automated vulnerability scans against web applications
  • Perform targeted attacks (brute force, parameter fuzzing) with Intruder
  • Develop custom Burp extensions for specialized testing workflows

Consider alternatives when:

  • You need a free/open-source alternative (use OWASP ZAP)
  • You need API-only testing without browser interaction (use API Fuzzing tools)
  • You need static code analysis (use Semgrep or SonarQube)

Quick Start

# Burp Suite installation (requires Java 17+) # Download from portswigger.net (Professional or Community) # Configure browser proxy: 127.0.0.1:8080 # Install Burp CA certificate for HTTPS interception # Python script to proxy through Burp import requests proxies = { "http": "http://127.0.0.1:8080", "https": "http://127.0.0.1:8080", } # Route all requests through Burp for inspection response = requests.get( "https://target.example.com/api/users", proxies=proxies, verify=False, # Required for Burp's CA headers={"Authorization": "Bearer TOKEN"} ) print(f"Status: {response.status_code}") print(f"Check Burp Proxy history for full request/response")

Core Concepts

Burp Suite Tools

ToolPurposeKey Feature
ProxyIntercept HTTP/HTTPS trafficModify requests/responses in real-time
ScannerAutomated vulnerability scanningCrawl + audit with passive/active checks
IntruderAutomated custom attacksPayload positions, wordlists, grep-match
RepeaterManual request manipulationEdit and resend individual requests
SequencerToken randomness analysisEntropy and statistical analysis
DecoderData encoding/decodingURL, Base64, HTML, hex conversion
ComparerDiff two responsesFind subtle differences in responses
ExtenderAdd custom functionalityBApp store + custom extensions

Intruder Attack Configuration

# Burp Intruder equivalent using Python # (for automated testing when Burp isn't available) import requests import time from concurrent.futures import ThreadPoolExecutor class IntruderClone: """Simplified Burp Intruder-style attack tool.""" def __init__(self, target_url, proxy=None): self.target = target_url self.proxy = {"http": proxy, "https": proxy} if proxy else None self.results = [] def sniper_attack(self, request_template, position, payloads, headers=None): """Single payload position attack (Burp Sniper mode).""" for payload in payloads: url = request_template.replace(f"§{position}§", payload) try: resp = requests.get( url, headers=headers, proxies=self.proxy, verify=False, timeout=10 ) result = { 'payload': payload, 'status': resp.status_code, 'length': len(resp.content), 'time': resp.elapsed.total_seconds(), } # Grep match if 'error' in resp.text.lower(): result['grep'] = 'error_found' if 'admin' in resp.text.lower(): result['grep'] = 'admin_reference' self.results.append(result) except Exception as e: self.results.append({'payload': payload, 'error': str(e)}) return self.results def cluster_bomb(self, url, params, payload_sets, method='GET', headers=None): """Multiple payload positions attack (Burp Cluster Bomb mode).""" from itertools import product combinations = list(product(*payload_sets.values())) param_names = list(payload_sets.keys()) for combo in combinations: test_params = dict(zip(param_names, combo)) try: if method == 'GET': resp = requests.get(url, params=test_params, headers=headers, proxies=self.proxy, verify=False, timeout=10) else: resp = requests.post(url, json=test_params, headers=headers, proxies=self.proxy, verify=False, timeout=10) self.results.append({ 'params': test_params, 'status': resp.status_code, 'length': len(resp.content), }) except Exception: pass return self.results # Usage (authorized testing only) # intruder = IntruderClone("https://target.example.com") # results = intruder.sniper_attack( # "https://target.example.com/api/users/§id§", # "id", # [str(i) for i in range(1, 100)] # )

Configuration

ParameterDescriptionDefault
proxy_portBurp proxy listener port8080
proxy_interfaceListener interface127.0.0.1
scopeTarget scope (domains/paths)Must be defined
scan_speedScanner speed (fast/normal/thorough)"normal"
scan_typeActive/passive scanning"active"
intruder_threadsConcurrent Intruder threads5
intruder_payloadsAttack payload configurationWordlist-dependent
follow_redirectsFollow redirections in Repeatertrue

Best Practices

  1. Define scope before scanning — Add target domains to Burp's scope and configure the scanner to only test in-scope items. Out-of-scope requests can test third-party services you're not authorized to assess, creating legal and ethical issues.

  2. Start with passive scanning, then targeted active scans — Passive scanning analyzes traffic you've already captured without sending additional requests. This identifies issues without impacting the application. Use active scanning selectively on specific endpoints rather than the entire site.

  3. Use Intruder's grep-match to filter results — Define strings to search for in responses (error messages, admin references, SQL syntax) and use Burp's grep-match columns to highlight potentially interesting responses. This is far more efficient than manually reviewing hundreds of responses.

  4. Save and organize your Burp project files — Use Burp's project file format to save all proxy history, scanner findings, and Intruder results. Label interesting requests with comments and highlights. This creates an audit trail and makes report writing more efficient.

  5. Use Sequencer to validate token randomness — Capture 10,000+ session tokens and feed them to Burp Sequencer for statistical analysis. It tests for bit-level patterns, character-level predictability, and FIPS compliance. Low-entropy tokens indicate a critical vulnerability.

Common Issues

HTTPS interception fails with certificate errors — Install Burp's CA certificate in your browser and OS trust store. For mobile app testing, pin the Burp CA in the app or use tools like Frida/Objection to bypass certificate pinning. Some apps use custom certificate stores that require additional configuration.

Scanner misses vulnerabilities that manual testing finds — Automated scanners can't understand business logic, authentication flows, or multi-step vulnerabilities. Use the scanner for technical issues (XSS, SQLi, CSRF) and manual testing for logic flaws (IDOR, authorization bypass, race conditions).

Intruder is too slow with large payload lists — Burp Community Edition throttles Intruder speed. Professional Edition is faster but still limited by network latency. For very large fuzzing campaigns (>100K payloads), use purpose-built tools like ffuf or custom Python scripts and proxy the traffic through Burp for inspection.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates