Burp Suite: A Complete Practical Guide to Web Security Testing

Burp Suite makes the conversation between a browser and a web application visible. You can inspect a request, change one value, send it again and check whether the server still enforces the rules it should.

That workflow is useful for far more than finding injection vulnerabilities. It helps you understand APIs, compare user permissions, investigate sessions, test business logic and produce evidence that a developer can reproduce.

This guide takes you from a first installation to a structured assessment. The core exercises work with Community Edition; Professional-only features are identified separately. You need basic familiarity with browsers and HTTP, but you do not need previous Burp experience.

Scope of this guide: Burp Suite desktop editions. Documentation checked on 11 November 2026. Screenshots supplied for this article show earlier interfaces; labels and panel positions can differ in your build. Examples are instructional, not results from a new DaySec assessment.

Practice environment: Use your own lab, a disposable staging application or a Web Security Academy instance assigned to you. Agree on target hosts, accounts, request limits and excluded actions before testing an application belonging to someone else.

Burp Suite wordmark supplied for this guide

Contents

1. What Burp Suite does

Burp is a collection of application security tools built around an intercepting proxy. When a browser is configured to use it, browser requests pass through Burp before reaching the server, and responses return through Burp on their way back.

This position lets you observe the actual protocol exchange rather than relying on the interface. A disabled button, hidden form field or JavaScript validation rule may affect what a browser normally sends. It does not establish what the server will accept.

The most productive habit is to turn observations into testable questions. Does the server calculate this price? Does it check the owner of this object? Does this request still work after logout? Is an error caused by invalid input or an expired session?

Burp helps you investigate those questions. It does not know all the business rules of the application, and an automated result does not remove the need for verification.

2. Community, Professional and DAST

Community Edition is a useful starting point for manual testing. Professional adds automation and workflow features that matter as assessments become larger. Burp Suite DAST is a separate product for organizational scanning workflows; its capabilities and interface should not be confused with the desktop editions.

CapabilityCommunity EditionProfessional
HTTP/HTTPS and WebSocket proxyIncludedIncluded
Repeater, Decoder, Comparer and SequencerIncludedIncluded
IntruderLimited, slower demo versionFull version
Automated vulnerability ScannerNot includedIncluded
Burp Collaborator integrationNot includedIncluded
Persistent project filesNot includedIncluded
ExtensionsCompatible extensionsCompatible extensions, including Pro-only BApps

Start with Community if you are learning request analysis and manual validation. Consider Professional when automated scanning, repeated Intruder work or reopening a complete project becomes part of your routine. Check the current official edition comparison before making a purchase; pricing is deliberately outside this guide.

3. Install Burp and start a project

Download the appropriate desktop installer from PortSwigger’s installation page. Choose the package for your operating system and architecture, run it and launch Burp. The native installer is the simplest route for most beginners; using a standalone JAR has separate Java requirements.

For a first session, choose a temporary project and start with the default configuration. Professional users can instead create a project on disk and reopen it later. Give each assessment its own project so unrelated applications, credentials and findings do not become mixed together.

Community users: a temporary project is held in memory. Closing Burp loses the project data. Export important requests and responses and maintain your notes before ending the session. Saving selected evidence or configuration is different from preserving the full project. See project files.

Record your Burp version, edition, environment and account roles at the start. Update Burp through the official distribution channel and check the release notes if a menu or workflow has changed.

4. Your first capture: use Burp’s browser

Burp’s built-in browser avoids the manual proxy and certificate setup required by an external browser. It is the best starting point when your immediate goal is to learn the tools.

  1. Open Proxy > Intercept.
  2. Click Open browser.
  3. Leave interception off while you browse to your assigned lab.
  4. Perform one recognizable action, such as opening a product or submitting a search.
  5. Open Proxy > HTTP history and locate the corresponding request.
  6. Select it and inspect both the request and response.

Next, return to Intercept, turn interception on and repeat a simple navigation. Burp should pause the request. Forward releases it; Drop prevents that request from continuing. Turn interception off again when you want normal browsing.

Intercept off does not mean capture off. Traffic passing through the proxy can still appear in HTTP history, subject to logging settings. Interception is the decision to pause messages for review. PortSwigger’s first interception tutorial demonstrates the distinction.

If a page appears to hang, check whether its request is waiting in Intercept before investigating a network failure.

5. External browsers, proxy listeners and HTTPS

Use an external browser when you need a particular profile, browser extension or environment. Keep a dedicated testing profile so unrelated personal traffic does not enter your assessment.

Configure the listener and browser

In Settings, locate the Proxy listener settings. A typical local listener is 127.0.0.1:8080. Verify that it is enabled and that the port matches your browser configuration. If another application uses that port, select a different free port in both places.

For a Firefox testing profile, open its network connection settings, select manual proxy configuration, set the HTTP proxy to 127.0.0.1 and the port to 8080, and enable the option to use that proxy for HTTPS as well. Exact wording varies by Firefox version. Check the bypass list if a local target never appears in Burp.

Chrome and Edge can use operating-system proxy settings, which may affect other applications. Follow the official external browser instructions for your platform. Retain a loopback listener for ordinary local testing; mobile-device testing requires a deliberately configured reachable listener and additional network controls.

Trust Burp’s CA in the testing browser

An intercepting HTTPS proxy creates two TLS connections: one between browser and Burp, and another between Burp and the destination. Burp generates a certificate for the destination hostname. An external browser must trust the Burp certificate authority to accept that certificate without warnings.

  1. With the browser proxy active, visit http://burpsuite.
  2. Download the CA certificate offered by the local Burp interface.
  3. Import it into the certificate-authority trust store used by the testing browser and allow it to identify websites.
  4. Restart the browser if required, then open an HTTPS lab page.
  5. Confirm that the page loads and its request appears in Burp.

The CA certificate documentation covers platform-specific installation. Certificate trust does not itself route traffic through Burp: the proxy must also be configured. Remove the CA from a disposable testing profile when you retire that profile, and protect the local Burp configuration and private key.

6. Set scope before building traffic

Scope describes the URLs that belong to the assessment. Begin with the exact application origin, including the scheme and relevant port. Include subdomains only when they are part of the agreed target.

For example, an assessment might include https://shop.staging.example.test and exclude payment providers, external identity services and destructive administrative workflows. A redirect to another host does not automatically make that host part of your scope.

Use Scope settings to add included URL prefixes and exclusions. You can also add a captured host or item through the Target site map context menu. Then filter the site map and HTTP history to in-scope items. If Burp offers to stop logging out-of-scope traffic, choose the behavior appropriate to your engagement.

A scope filter is not a firewall. Hiding traffic in a table does not prove that it was never sent. Check interception rules, scan tasks, extension behavior and logging settings separately. Review a task’s actual target before starting it. See setting the initial test scope.

7. Learn to read an HTTP exchange

Before automating anything, identify the fields that determine what the server will do. This is a simplified request for a fictional lab application; it is not a real endpoint or a complete message to paste unchanged:

POST /api/cart/items HTTP/1.1
Host: shop.staging.example.test
Cookie: session=REDACTED
Content-Type: application/json

{"productId":42,"quantity":1}
PartWhat to investigate
Method and pathWhich action or resource is being requested?
Query parametersWhich filters, identifiers or options are client-controlled?
HeadersWhich authentication, content and origin details matter?
CookiesWhich values identify the session or application state?
BodyIs the content JSON, form data, XML or multipart data?
ResponseWhat did the server return, and did its state change?

HTTP/2 has a different wire format. Burp provides an editable representation; do not assume the text view is a literal recording of HTTP/2 frames. Use the protocol and Inspector controls when investigating version-specific behavior.

A 200 OK response only describes an HTTP outcome. It can contain an application-level error. A 302 may lead to a login page. A 403 may be an authorization decision or an unrelated edge-layer block. Read the body, redirects and resulting application state.

Use Inspector for structured edits

The Inspector side panel exposes request attributes, parameters, cookies and headers. It is helpful when a value is encoded or awkward to locate in the raw message. Check the final request after editing so the encoding and content type still match your intention. See getting started with Inspector.

8. Proxy history and the Target site map

Use Proxy > HTTP history as the chronological record of browser traffic that passed through Burp. Filter by host, method, content type or relevant status codes. Add comments and highlights to requests you will investigate later.

Use Target > Site map as the application-oriented view of collected URLs and content. Navigate through the application with representative accounts: public visitor, ordinary user and any privileged test role supplied for the engagement.

Create a small endpoint inventory as you browse:

FeatureRequestAccount contextQuestion
Account profileGET /api/meUser AWhich fields are exposed?
Order detailsGET /api/orders/1001User AIs ownership enforced?
Profile updatePATCH /api/meUser AWhich fields may be changed?
Staff reportGET /api/staff/reportStaffCan ordinary users reach it?

These are fictional examples. Replace them with the actual routes in your lab. The HTTP history and site map document what each view records. A populated site map is not proof that every endpoint has been discovered or tested.

9. Repeater: establish a baseline, then change one thing

Repeater is the main tool for controlled manual testing. Right-click an interesting request and choose Send to Repeater. Open its tab and send the unmodified request first. That baseline confirms that the request still works outside the original browser action.

Now change one meaningful value, send the request again and compare the outcome. Use separate tabs for important cases and name them clearly, such as baseline-user-a, user-a-order-b and missing-session.

For a quantity field, useful cases might include a valid positive integer, zero, a negative integer and a non-numeric string. The application contract determines the expected response; some applications legitimately accept zero as a removal action.

A comparison becomes meaningful when the baseline and modified request share the same relevant conditions: account, endpoint, current state and session validity. If these change together, you cannot tell which variable caused the difference.

Earlier Burp Repeater interface showing a JSON response and the Inspector panel
Supplied historical screenshot: Repeater displaying a JSON response and Inspector. It illustrates the interface only; the endpoint shown is not a target for the exercises and the image does not document a new DaySec test.

Repeater’s documentation covers message history, tab management and HTTP/WebSocket workflows. Reissuing a state-changing request can create duplicate actions: reset your lab state where necessary and verify what actually happened on the server.

10. Lab: investigate a client-controlled price

The Academy lab Excessive trust in client-side controls provides a purchasing workflow that trusts a submitted price.

  1. Launch your assigned lab and sign in with the credentials on its page.
  2. Add the named jacket to the cart and locate the corresponding POST /cart request in HTTP history.
  3. Send it to Repeater and identify the submitted price value.
  4. Change the price to a smaller valid integer and send the request.
  5. Refresh the lab cart and inspect the price the server retained.
  6. Complete the lab’s purchase objective within that disposable instance.

The important evidence is a server-side cart or order using the submitted price. A reflected input alone is insufficient. In a real application, the relevant fix is to derive authoritative prices and entitlements on the server rather than trusting client-submitted totals.

11. Lab: compare access controls with two test accounts

This exercise requires a lab you control, two ordinary accounts and one object owned by each. The endpoint names below are hypothetical. Use disposable records and a read-only operation first.

Suppose User A owns order 1001 and User B owns order 2002. Capture a successful request from each account using a separate browser profile or session, then preserve each request in a clearly named Repeater tab.

TestSessionRequested objectExpected behavior
Baseline AUser AA’s orderAllow
Baseline BUser BB’s orderAllow
Cross-user checkUser AB’s orderDeny access to B’s private data
Unauthenticated checkNoneA’s orderDeny access to private data

For the cross-user check, start with A’s working request and change only the object identifier to B’s known test object. Retain A’s credentials. If you accidentally copy B’s session as well, you have tested B reading B’s own order, which demonstrates no broken boundary.

Inspect the returned fields and confirm the object owner. Identical status codes do not imply identical permissions. If an unexpected object is returned, stop after the minimum proof and preserve the redacted exchange.

For a role check, compare an ordinary test user with a supplied staff account against a staff-only action. The server must enforce both object ownership and permitted functions; hiding a staff link in the interface is insufficient.

An edited JWT claim is not automatically a valid privilege escalation. JWTs normally have integrity protection, and an unsigned modification should fail validation. Test the server’s handling of valid sessions and actual role boundaries rather than assuming that changing role in decoded JSON grants that role.

12. Intruder: automate a small, defined experiment

Intruder repeatedly sends a base request with chosen values inserted at marked positions. Use it after you understand a request and know what result you are looking for. Community includes a slower limited version; Professional provides the full tool.

For an initial exercise, use a read-only search endpoint in your own lab. Capture a working search, send it to Intruder, remove unintended payload positions and mark only the search value. Burp displays positions with § markers; these define substitutions rather than characters you normally send to the application.

Use a short list such as alpha, beta, gamma, an empty string and a punctuation character. Start with low concurrency and a delay appropriate to the lab. Review the calculated request count before launching.

Attack typeHow values are placedRequest count
SniperOne payload set; each position tested individuallyPositions × payloads
Battering ramThe same payload in every position togetherPayloads
PitchforkSeparate sets advanced together by indexLength of the shortest set
Cluster bombEvery combination across separate setsProduct of set lengths

With two positions and lists of three and four items, Pitchfork sends three requests and Cluster bomb sends twelve. Sniper with two positions and one three-item set sends six. These counts assume the listed positions and payloads, without extra request-producing workflow rules.

Read the attack type reference before using combinations. A small change in configuration can multiply the workload substantially.

Read anomalies as leads

Sort results by status, length or timing, and use match/extract rules to surface relevant response text. Inspect an unusual result and reproduce it in Repeater. Changes may come from timestamps, cache state, expired sessions, rate limiting or transient errors.

Stop and investigate 429 responses rather than increasing throughput. A difference in response length is a reason to look closer, not a vulnerability finding. See configuring Intruder attacks for payload processing and resource pools.

13. Decoder, Comparer and Sequencer

Decoder: identify representation before interpretation

Decoder helps transform encoded data into a form you can inspect, or encode a test value for the context in which it will be sent. Send a selected value from a message editor or paste a lab string into Decoder.

For a simple exercise, decode SGVsbG8= from Base64 and confirm it becomes Hello. URL-encoding hello world gives hello%20world; form encoding may represent spaces with +. Apply the encoding required by the actual parameter rather than repeatedly encoding an entire request.

Encoding is not encryption. Base64 decoding does not reveal a cryptographic secret merely because the result is readable. A hash is not generally reversible, and decoding the payload of a JWT does not validate its signature. See Decoder.

Comparer: examine meaningful differences

Send two responses to Comparer and inspect a word-level or byte-level comparison. This is useful for contrasting account views, baseline and modified requests, or pre-fix and post-fix behavior.

Recognize volatile fields such as dates, request IDs and anti-CSRF tokens. A visually large diff can be irrelevant; a single changed permission field can matter. Keep the original messages as evidence even if you use a normalized copy for analysis. See Comparer.

Sequencer: investigate token randomness

Sequencer statistically analyzes samples of values intended to be unpredictable. Identify the token location, collect appropriate samples and review the analysis in the context of how the application generates and uses the value.

Live collection sends requests, so choose an endpoint and volume suitable for the lab. A statistical warning does not by itself establish a practical prediction attack. A token can also fail because of leakage, reuse, weak binding or excessive lifetime even if its sampled values look random. See Sequencer.

14. Authentication, cookies and anti-CSRF tokens

A request that worked a moment ago may fail because its session expired, its token was used once, or its required preceding step was not repeated. Diagnose state problems before interpreting them as security controls.

First, repeat the action in the browser. Compare the fresh request with the failing Repeater request. Check cookies, bearer tokens, CSRF fields, redirect targets and required workflow state. Copy a current test credential only into the appropriate account’s request.

Changing browser accounts does not guarantee that every Repeater tab now uses the new account. Each request may retain old authentication data, and configured session rules can modify values before transmission. Confirm the effective account for each case.

When repeated tests require fresh state, Burp’s session handling rules can update credentials or run a macro. A macro is a recorded sequence of requests, such as fetching a form and extracting a fresh token. Restrict a rule to the intended URLs, tools and parameters, then verify its behavior on a small run.

Consult Sessions settings and the session handling rule editor. Do not assume these rules are interchangeable with Scanner’s authentication configuration; validate the authenticated state within the workflow you actually run.

For API bearer tokens, check expiration, intended audience and permissions using the test accounts provided. Successful login does not establish that logout, account switching or access control behaves correctly.

15. APIs, JSON, GraphQL and WebSockets

The same workflow applies when a web interface is a client for an API: capture the request, identify its authentication and parameters, establish a baseline and test the server’s decision.

For JSON, preserve valid syntax and the correct content type. Distinguish an absent field from null, and strings from numbers. If changing a value causes the request to fail parsing, you have not yet tested the business rule governing that value.

For GraphQL, inspect the operation, variables and authorization of returned objects and fields. A single HTTP endpoint can represent many different application actions. A successful HTTP status may contain a GraphQL errors array, partial data or both.

For WebSockets, locate the initial handshake in HTTP history and inspect application messages in Proxy > WebSockets history. Where supported, send a message to Repeater and test a controlled variation. Establish which session authenticated the connection and whether a reconnect changes that context.

Messages on an already open connection may depend on prior messages or subscriptions. Replaying an isolated message without that context can produce a misleading failure. See WebSockets history and manipulating WebSocket messages.

16. Match and replace, Logger and Organizer

Match and replace

Proxy match-and-replace rules automatically modify matching traffic. A practical lab use is adding an agreed testing identifier header to browser requests so a defender can distinguish assessment traffic.

Keep rules narrowly scoped and verify a captured request before proceeding. A broad replacement can change authentication data, break unrelated traffic or erase the baseline you intended to measure. Disable temporary rules when the experiment ends. See match and replace.

Logger

Logger helps inspect HTTP traffic generated by Burp tools, including requests that did not originate in the browser proxy history. Use the tool-origin information and filters to investigate what Repeater, Scanner or an extension actually sent. Capture settings still determine what is available. See Logger.

Organizer

Organizer keeps selected HTTP messages with annotations for later investigation. Use it for candidate findings, useful baselines and cases that require a second account. A short note such as A's session retrieves B's test invoice is more useful than interesting response.

Neither a populated Organizer nor an on-disk project replaces a clear finding record. Community users must also account for temporary-project data loss when closing Burp. See Organizer.

17. Scanner: crawl, audit and verify — Professional

Burp Scanner automates parts of dynamic application testing. Crawling explores the application; auditing looks for security issues. JavaScript-driven interfaces and authenticated content require suitable navigation and session configuration. See the Scanner overview.

Passive analysis examines existing exchanges without injecting its own attack requests. Active auditing sends additional test traffic. Starting a broader crawl-and-audit task can still navigate and submit application workflows, so decide what is appropriate before running it.

For a first scan, choose a disposable application or narrowly selected messages. Review the target, exclusions, account, scan configuration and resource limits. Watch the task and verify that it reaches the intended pages rather than spending the scan on a login screen.

Use scanning specific HTTP messages to connect automation to a request you already understand. Begin with a small area, inspect the generated traffic, then expand deliberately.

Authenticated coverage needs evidence

Configure simple login credentials or a recorded login sequence as supported by the application. A login that requires several steps may need the latter. Confirm that protected content is discovered and that the session remains valid during the scan. See configuring application logins.

Treat a reported issue as a claim. Examine its request, response, confidence and affected location, then reproduce the behavior manually when practical. An empty issue list means the configured scan did not report issues in the area it actually reached; it does not establish that the application is secure.

18. Collaborator and out-of-band testing — Professional

Some application behavior is invisible in the immediate response. An input may cause a later DNS lookup or outbound HTTP request, for example. Collaborator provides unique interaction identifiers so you can correlate such behavior with a test.

Generate a payload in Collaborator, place it in the intended input of an authorized lab request and send that request. Poll for interactions and correlate each event with its payload, timestamp and protocol. Keep different hypotheses separate so their evidence does not become mixed.

An interaction establishes that a lookup or connection occurred. It does not automatically prove a particular vulnerability or its impact: mail processors, link scanners and security products can also generate callbacks. Establish which component initiated the interaction and what boundary was crossed.

Use the Collaborator documentation for payload generation and result handling. Decide whether a public interaction service is permitted for the engagement; some environments require a private deployment. Do not send real customer data in a test payload.

19. Extensions and current AI features

Extensions can add specialized views, checks and automation. In Extensions > BApp Store, inspect an extension’s purpose, edition compatibility, maintenance status and expected resource use before installing it. Add one at a time and check its output and traffic.

A store listing does not make an extension appropriate for every project. Extensions can access sensitive requests or send additional traffic; review their code and external dependencies where that matters. The BApp installation guide explains the installation route.

For custom development, PortSwigger’s current Java examples use the Montoya API. Older material may refer to Extender or require legacy runtimes; follow the requirements of the actual extension and Burp build. See creating extensions.

Burp AI and Burp AT

Current documentation distinguishes AI features in Professional, such as assistance within Repeater, from Burp AT’s agentic testing workflows. These are optional additions to the manual workflow described here, and AI usage consumes credits. Availability and prerequisites depend on the feature and your account.

Before supplying private traffic, review what data is sent and where it is processed. Configure tool autonomy deliberately and check the actual requests and resulting evidence. An AI explanation remains a hypothesis until supported by application behavior. See Burp AI, Burp AT setup and AI settings.

20. A repeatable assessment workflow

Use the following sequence to turn individual tool actions into a coherent investigation. Its purpose is to preserve context: which account made the request, what changed, and what the server did.

  1. Define the assessment. Record included hosts, excluded actions, accounts, permitted automation and the environment owner.
  2. Prepare the project. Check the proxy, browser, scope, edition and evidence location.
  3. Map normal behavior. Browse representative workflows and build a route and role inventory.
  4. Select a question. Identify a specific boundary, such as object ownership or server-side price calculation.
  5. Capture a valid baseline. Confirm the account and current state in Repeater.
  6. Change one variable. Keep other relevant conditions stable.
  7. Inspect the outcome. Compare the full response and any resulting application state.
  8. Automate selectively. Use Intruder or Scanner only where a defined experiment benefits from repetition.
  9. Validate the finding. Repeat the minimum proof and rule out session, caching and test-setup mistakes.
  10. Document and retest. Preserve redacted evidence, explain the broken rule and verify the fix with a valid control case.

For collaboration, agree on a naming scheme for tabs and findings. Include the account role and test condition in names. This reduces the chance of mixing an administrative response with an ordinary user’s request.

21. Write a finding that another person can reproduce

A useful report connects input, account context and observable impact. It should let a developer reproduce the issue without reconstructing your entire Burp project.

FieldWhat to record
TitleThe affected boundary and observed behavior
EnvironmentHost, application version if known, date and test conditions
PreconditionsRequired role, account state and disposable data
ReproductionMinimal numbered steps and relevant request fields
Expected resultThe rule the server should enforce
Actual resultThe behavior observed and supporting response/state
ImpactWhat an attacker with those prerequisites could achieve
RemediationThe server-side control that should change
RetestWhether the invalid case is blocked and valid behavior still works

For the two-account example, a precise title would be Authenticated user can read another test user's private order through the order-detail endpoint. The evidence should retain A’s account context and show that the returned object belongs to B. Avoid claiming exposure of every customer’s records when you tested two known lab objects.

Redact session cookies, bearer tokens, passwords and unnecessary personal data. Mark redactions explicitly so a reviewer understands why a copied request requires fresh test credentials. Keep the original evidence in an appropriately restricted location.

Professional can generate issue reports, including HTML and XML formats documented in report settings. Review generated content and remove irrelevant or sensitive material before sharing. A project file is working evidence, not a substitute for a finished report.

22. Troubleshooting common problems

SymptomCheck firstNext action
Browser waits indefinitelyA request paused in InterceptForward or drop it, then turn interception off for normal browsing
HTTP history stays emptyBrowser route, active listener and matching portTry Burp’s browser to isolate external-browser setup
HTTPS shows certificate errorsCA trust in the browser/profile actually in useInstall the local Burp CA following the platform instructions
Local app bypasses BurpBrowser/system proxy bypass rulesReview localhost and loopback exclusions
Listener will not startAnother process using the portChoose a free port and update both Burp and browser
Repeater returns a login pageCurrent session and redirect chainCapture a fresh baseline and verify the effective account
A valid action returns a token errorCSRF freshness and required prior stepsRepeat the browser workflow, then configure state handling if needed
Intruder produces only repeated errorsPayload positions, encoding and authenticationReproduce one request manually before continuing
429 responses appearRate limit or workloadStop or reduce the workload and follow the agreed limits
Scanner sees public pages onlyAuthentication and scan coverageVerify protected-page access within the scan
Mobile HTTPS still failsApplication trust policy or certificate pinningUse an authorized debug build or documented test configuration
Captured content seems missingDisplay filters versus logging settingsClear filters and check what was actually recorded

Burp’s browser is a useful diagnostic control: if it works and your external browser does not, focus on the external browser’s proxy, bypass and certificate settings. If both fail, investigate the listener, network path and target availability. See common errors.

23. Quick reference and working habits

TaskStart here
Pause a browser requestProxy > Intercept
Review browser trafficProxy > HTTP history
Review observed application structureTarget > Site map
Edit and resend a requestSend to Repeater
Substitute a controlled set of valuesSend to Intruder
Decode a selected valueSend to Decoder
Compare two messagesSend each to Comparer
Inspect traffic generated by Burp toolsLogger
Preserve a candidate with notesOrganizer
Review a WebSocket conversationProxy > WebSockets history

Common Windows/Linux defaults include Ctrl+R for Send to Repeater and Ctrl+I for Send to Intruder. Check your configured hotkeys and the context menu rather than assuming every platform or installation uses the same mapping.

Keep three habits throughout the assessment: preserve a working baseline, verify the effective account, and confirm the server-side outcome. These make the difference between an interesting response and a defensible finding.

24. Frequently asked questions

Is Community Edition enough to learn Burp?

Yes. You can learn interception, request analysis, manual replay, decoding, comparisons and controlled Intruder experiments. The main exercises in this guide do not require Scanner or Collaborator. Plan for temporary-project data loss before closing Community.

Do I need to install the CA certificate with Burp’s browser?

The built-in browser is already configured for Burp. Manual proxy and CA setup is primarily relevant when using an external browser or another client.

Does Burp find every vulnerability automatically?

No. Automated coverage depends on discovered functionality, authentication and configuration. Business rules and permission boundaries often need account-aware manual investigation. Scanner findings also require validation.

Is an unusual response length proof of a bug?

No. It identifies a difference. Inspect the content, establish a stable baseline and reproduce the security-relevant behavior before reporting it.

Can I use Burp with mobile applications?

Yes, when the application and device can route traffic through the proxy and accept the testing certificate configuration. Listener reachability, device trust and certificate pinning require separate setup. Treat mobile interception as a distinct workflow rather than assuming the desktop browser instructions are sufficient.

Why does an edited JWT stop working?

Because changing protected content normally invalidates its signature. Reading claims is useful for understanding a session, but modifying decoded JSON does not demonstrate that a server accepts the altered token.

25. Continue with deliberate practice

Start with a small sequence: capture one request, replay its unchanged baseline, change one field, compare the result and write a short finding or a clear explanation of why no issue was demonstrated. Then repeat with two account roles and a multi-step workflow.

Use PortSwigger’s interactive getting-started tutorial and the Web Security Academy for assigned vulnerable labs. Keep the desktop documentation open when a tool’s behavior or edition availability is unclear.

For related DaySec reading, Hacking Cheatsheets provides a broader reference approach, while the Strix practical guide discusses reviewing evidence from AI-assisted testing. The underlying discipline remains the same: identify the boundary, observe what crossed it, and preserve enough evidence for someone else to check your conclusion.

Latest articles

Related articles