Web applications use parameters (or queries) to accept user input, take the following example into consideration
This URL seems to load user information for a specific user id, but what if there exists a parameter named
adminwhich when set to
Truemakes the endpoint provide more information about the user?
This is what Arjun does, it finds valid HTTP parameters with a huge default dictionary of 25,980 parameter names.
The best part? It takes less than 30 seconds to go through this huge list while making just 50-60 requests to the target.
Want to know how Arjun does that? Here's how.
- Thorough detection
- Automatic rate limit handling
- A typical scan takes 30 seconds
- Huge list of 25,980 parameter names
Note: Arjun doesn't work with python < 3.4
How to use Arjun?
A detailed usage guide is available on Usage section of the Wiki.\
An index of options is given below:
- Scanning a single URL
- Scanning multiple URLs
- Choosing number of threads
- Handling rate limits
- Delay between requests
- Including presistent data
- Saving output to a file
- Adding custom HTTP headers
The parameter names are taken from @SecLists.