Burp Suite extension for finding parameter names and URL endpoints. It collects data from proxy traffic and JavaScript files, saves results to JSON, and shows them in a handy UI tab.
- Collect parameters and endpoints from requests/responses in Proxy and Repeater.
- Find endpoints in JavaScript by regex.
- Optional AST scan of JS with
jsluice. - Build a command to run
httpxand “spray” selected endpoints across site tree paths. - Send any found endpoint to Burp Repeater for manual testing.
- Auto-save results to JSON in your project folder.
- Java 21 (JDK 21)
- Gradle (wrapper included)
- Burp Suite (Community or Professional)
- Optional tools:
./gradlew clean build
./gradlew jarThe JAR is created in build/libs/.
Burp → Extensions → Installed → Add → select the JAR from build/libs/.
On first start, the extension asks for:
- Project name
- Used as a base for result file names.
- Export directory
- Default:
HOME_DIR/.paramamador + DateTime. - Project-specific folder for all results.
- Default:
- Global export directory
- Default:
HOME_DIR/.paramamador. - Global settings shared between projects.
- Default:
- Load previous results from export directory
- If checked, the extension loads existing
.jsonresults on startup.
- If checked, the extension loads existing
- Enable AST scanning with jsluice
- If checked, the extension enables scanning JS via
jsluice.
- If checked, the extension enables scanning JS via
- Go bin directory (optional)
- Path to
$GOPATH/binwherehttpxandjsluicemay be installed.
- Path to
- The extension saves found parameter names and endpoints to JSON files in the export directory.
- The UI tab shows current data for quick work (copy, filter, send to tools).
- Scope only (default: true)
- If on, only in-scope requests and JS files are scanned.
- Auto-save interval (default: 300 sec)
- How often results are saved to JSON.
- maxInlineJsKb (default: 200 KB)
- JS larger than this goes to a background queue for parallel scanning.
- maxQueueSize (default: 200)
- Max size of the background queue for large JS files.
- Ignored patterns
- JS sources containing these strings are skipped.
- Default:
jquery,bootstrap,google-analytics,gtag.js,gpt.js,segment.
- Path variable defaults
- Your default values for variables in paths.
- Example: found
/api/users/:userId, you set:userId = 1337. - Then sending to httpx or Repeater will replace
:userIdwith1337.
- Default request headers
- Headers added by default in the Repeater send dialog.
- Good for app-required headers so you don’t type them each time.
- Name: parameter name.
- Sources: JS file or request where it was found.
- Types: where it was found (query/body/multipart/json);
js_astmeans from jsluice. - Examples: sample values from traffic.
- Count: how many times it was seen.
- OnlyInCode: true if found by JS scanning (regex or jsluice).
- Endpoint: found URL endpoint.
- Source: JS file where it was found.
- Type: ABSOLUTE / RELATIVE / TEMPLATE / CONCAT.
- Referer: Referer value of the request that fetched the JS (helps identify target app when using a CDN).
- Mark as False Positive
- Marks this endpoint as false positive (by key: JS source + endpoint).
- It won’t appear again in the main table (still stored in JSON with a flag).
- Run httpx (spray endpoints)
- Build a list of Absolute URLs by combining selected endpoints with site tree paths for the target host (from Referer).
- Example:
- Selected endpoints:
/a/b,/c/d - Site tree has:
example.com/api/v1,example.com/home - The tool generates:
example.com/api/v1/a/bexample.com/api/v1/c/dexample.com/api/a/bexample.com/api/c/dexample.com/a/bexample.com/c/dexample.com/home/a/bexample.com/home/c/d
- Selected endpoints:
- You get a ready
httpxcommand in a popup. Edit or copy to run in your terminal. - The tool also tries to add the latest
CookieorAuthorizationheader for that host from Proxy history.
- Send to Repeater
- Builds a minimal HTTP request for the selected endpoint and sets the
Hostfrom the Referer. - You can add the latest
CookieorAuthorizationfrom Proxy history with one click.
- Builds a minimal HTTP request for the selected endpoint and sets the
- Add endpoint to Global Ignored
- Some relative-like values are common in JS and are noise (like
application/zipor a date format). - Adds the selected value to a global ignore file in the Global export directory (
paramamador_global_ignored.txt).
- Some relative-like values are common in JS and are noise (like
- Endpoints from less strict JS regex rules.
- Mostly noise, but can have useful finds sometimes.
- Shows results from the
jsluiceAST scan of JS files. - You can also send these to Repeater.
./gradlew build
./gradlew jar
./gradlew cleanLoad the JAR from build/libs/ into Burp: Extensions → Installed → Add.