Web Application
Arjun finds hidden HTTP parameters in web applications. It uses a huge default dictionary and smart techniques to discover parameters not visible in the user interface.
pip install arjun
arjun -u <url>
Arjun is a Python-based HTTP parameter discovery tool that finds hidden parameters in web applications. By systematically testing parameter names from a large built-in wordlist, it identifies parameters that the application accepts but may not be documented or visible in the interface.
Created by s0md3v (the same author as XSStrike), Arjun supports GET, POST, and JSON parameter discovery with multi-threaded scanning for efficiency. It analyzes HTTP response differences to determine parameter acceptance.
Security professionals use Arjun during the reconnaissance phase to expand the attack surface. Hidden parameters may control backend functionality, enable debugging features, or reveal undocumented API endpoints that could contain vulnerabilities.
arjun -u https://example.com/apiScan a single URL for hidden HTTP parameters using the default GET method.arjun -u https://example.com/api -m GETExplicitly test parameters using GET query strings.arjun -u https://example.com/api -m POSTFuzz parameters sent in a POST body (application/x-www-form-urlencoded).arjun -u https://example.com/api -m JSONDiscover parameters inside a JSON request body.arjun -u https://example.com/api -m XMLDiscover parameters inside an XML request body.arjun -u https://example.com/api -t 20Increase concurrency to 20 threads for faster scanning.arjun -u https://example.com/api -d 2Add a 2-second delay between requests to respect rate limits.arjun -u https://example.com/api -w params.txtUse a custom wordlist of candidate parameter names.arjun -u https://example.com/api -oT results.txtSave discovered parameters to a plain-text file.arjun -u https://example.com/api -oJ results.jsonSave results in JSON format for tooling or reporting.arjun -u https://example.com/api -c 250Set the chunk size (parameters tested per request) to 250.arjun -u https://example.com/api --headers "User-Agent: Mozilla/5.0"Send custom HTTP headers with every request.arjun -u https://example.com/api --stableUse the stable (slower, more reliable) detection mode to reduce false positives.arjun -u https://example.com/api --passivePassive mode: mine parameter names from third-party sources without brute forcing.arjun -u https://example.com/api -T 10Set the per-request timeout to 10 seconds.Find undocumented URL parameters that control hidden application functionality.
Discover undocumented API parameters for REST and JSON endpoints.
Expand the attack surface by finding parameters for vulnerability testing with specialized tools.
Uncover debug or test parameters left in production applications.
Find parameters that trigger server-side operations like database queries or file operations.
Build customized parameter wordlists by analyzing discovered parameters across multiple targets.
Web Application
Fast web fuzzer for directory discovery, parameter fuzzing, and virtual host enumeration.
Web Application
Web application fuzzer for brute-forcing parameters, directories, and more.
Web Application
Directory and subdomain brute-forcer for discovering hidden paths and virtual hosts.
Vulnerability Analysis
Fast and customizable vulnerability scanner based on YAML templates.
Web Application
Brute-forcing hidden GET and POST parameters in web applications.
Lists discovered parameters with their detected type (GET/POST/JSON).
This tool is designed for authorized security testing, educational purposes, and legitimate network administration only. Unauthorized access to computer systems is illegal.