s0md3v

Arjun

HTTP parameter discovery suite.
Under GNU General Public License v3.0
By s0md3v

api-testing recon api-fuzzer api-fuzzing parameter-discovery





Arjun

HTTP Parameter Discovery Suite















What's Arjun?

Arjun can find query parameters for URL endpoints. If you don't get what that means, it's okay, read along.


Web applications use parameters (or queries) to accept user input, take the following example into consideration


http://api.example.com/v1/userinfo?id=751634589


This URL seems to load user information for a specific user id, but what if there exists a parameter named admin which when set to True makes the endpoint provide more information about the user?\
This is what Arjun does, it finds valid HTTP parameters with a huge default dictionary of 10,985 parameter names.


The best part? It takes less than 10 seconds to go through this huge list while making just 20-30 requests to the target. Here's how.


Why Arjun?

Installing Arjun

You can install arjun with pip as following:
pip3 install arjun


or, by downloading this repository and running
python3 setup.py install


How to use Arjun?

A detailed usage guide is available on Usage section of the Wiki.


Direct links to some basic options are given below:



Optionally, you can use the --help argument to explore Arjun on your own.


Credits

The parameter names wordlist is created by extracting top parameter names from CommonCrawl dataset and merging best words from SecLists and param-miner wordlists into that.