Invoker is a Burp Suite extension that automates penetration testing with external tools. It integrates popular programs such as Dosfiner, sqlmap, nuclei, ffuf, tplmap, nikto, and nmap directly into the Burp Suite interface. Pentesters can now launch these tools with just one click, automatically passing data from the currently selected HTTP request.
- Time Saving: No more manual copying URLs, headers, or cookies to CLI tools.
- Error Reduction: Automatically generated commands significantly reduce human errors.
- Bulk Testing: Generate scripts for multiple endpoints at once.
- Authenticated Scanning: Easily reuse session cookies and headers.
git clone https://github.com/afine-com/Invoker.git
cd Invoker
- Open Burp Suite.
- Navigate to the Extensions tab.
- Click Add and select the file
InvokerExtension.py
.
Edit the InvokerConfig.json
according to your setup. Each entry in this file defines:
tool
– The CLI tool (e.g. dosfiner, sqlmap).name
– Display label in Burp's context menu.template
– Command template using placeholders.
Default config is for Linux/macOS. Modify global_raw_folder
to a writable directory, e.g.:
"global_raw_folder": "C:\\pentest\\invoker"
Specify full paths for executables:
"template": "C:\\tools\\sqlmap\\sqlmap.py -u \"{{URL}}\""
Placeholder | Description |
---|---|
{{HOST}} |
Target hostname or IP |
{{URL}} |
Full request URL |
{{PROTOCOL}} |
Protocol (http or https ) |
{{PORT}} |
Port number |
{{RAW_PATH}} |
Path to saved raw request file |
{{HEADERS[-H]}} |
All request headers formatted with -H |
{{BODY}} |
Request body (for POST requests) |
{{FORCE_SSL}} |
Adds SSL enforcement flag |
{{FFUF_URL}} |
URL tailored for fuzzing with ffuf |
{{OUTPUT}} |
Path for saving the tool’s output |
{{METHOD_SWITCH}} |
Method flag (-g for GET, -p for POST) |
[
{"global_raw_folder": "/tmp/{{HOST}}"},
{
"name": "dosfiner auto GET/POST",
"tool": "dosfiner",
"template": "go run dosfiner.go {{METHOD_SWITCH}} -u \"{{URL}}\" -d \"{{BODY}}\" {{FORCE_SSL}} {{HEADERS[-H]}} -t 999 -proxy \"http://127.0.0.1:8080\""
},
{
"name": "sqlmap auto",
"tool": "sqlmap",
"template": "sqlmap -u \"{{URL}}\" {{HEADERS[-H]}} --batch --level=5 --risk=3 --tables"
}
]
- Right-click request → Invoker Extension.
- Choose the desired tool (e.g., "dosfiner auto GET/POST").
- Generated command is copied to clipboard, ready to paste into terminal.
- Select multiple requests → Right-click → Invoker Extension.
- Invoker generates a
.sh
script containing commands for each request. - Path to
.sh
script is copied to clipboard for quick access.
- Select a request with valid authentication (cookies, tokens) → Right-click → Set as Authenticated Request.
- Invoker automatically includes these headers in subsequent commands.
- Windows Configuration: Ensure
global_raw_folder
points to a writable directory. - CLI Path Issues: Always specify full paths on Windows, e.g.,
C:\tools\nuclei.exe
.