2018-11-10 05:17:12 +05:30
|
|
|
|
|
|
|
|
<h1 align="center">
|
|
|
|
|
<br>
|
|
|
|
|
<a href="https://github.com/s0md3v/Arjun"><img src="https://image.ibb.co/c618nq/arjun.png" alt="Arjun"></a>
|
|
|
|
|
<br>
|
|
|
|
|
Arjun
|
|
|
|
|
<br>
|
|
|
|
|
</h1>
|
|
|
|
|
|
|
|
|
|
<h4 align="center">Parameter Discovery Suite</h4>
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<a href="https://github.com/s0md3v/Arjun/releases">
|
|
|
|
|
<img src="https://img.shields.io/github/release/s0md3v/Arjun.svg">
|
|
|
|
|
</a>
|
|
|
|
|
<a href="https://github.com/s0md3v/Arjun/issues?q=is%3Aissue+is%3Aclosed">
|
|
|
|
|
<img src="https://img.shields.io/github/issues-closed-raw/s0md3v/Arjun.svg">
|
|
|
|
|
</a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
2018-11-10 05:21:17 +05:30
|
|
|
### Features
|
|
|
|
|
- Multi-threading
|
|
|
|
|
- 3 modes of detection
|
|
|
|
|
- Regex powered heuristic scanning
|
2018-11-10 05:26:26 +05:30
|
|
|
- Huge list of 3370 parameter names
|
2018-11-10 05:21:17 +05:30
|
|
|
|
2018-11-10 05:17:12 +05:30
|
|
|
### Usage
|
2018-11-10 05:21:17 +05:30
|
|
|
|
|
|
|
|
> **Note:** Arjun doesn't work with python < 3.4
|
|
|
|
|
|
2018-11-10 05:17:12 +05:30
|
|
|
#### Discover parameters
|
|
|
|
|
|
|
|
|
|
To find `GET` parameters, you can simply do:
|
2018-11-10 05:21:17 +05:30
|
|
|
|
2018-11-10 05:17:12 +05:30
|
|
|
`python3 arjun.py -u https://api.example.com/endpoint --get`
|
2018-11-10 05:21:17 +05:30
|
|
|
|
|
|
|
|
Similarly, use `--post` to find `POST` parameters.
|
2018-11-10 05:17:12 +05:30
|
|
|
|
|
|
|
|
#### Multi-threading
|
|
|
|
|
Arjun uses 2 threads by default but you can tune its performance according to your network connection.
|
|
|
|
|
|
|
|
|
|
`python3 arjun.py -u https://api.example.com/endpoint --get -t 22`
|
|
|
|
|
|
|
|
|
|
#### Delay between requests
|
|
|
|
|
You can delay the request by using the `-d` option as follows:
|
2018-11-10 05:21:17 +05:30
|
|
|
|
2018-11-10 05:17:12 +05:30
|
|
|
`python3 arjun.py -u https://api.example.com/endpoint --get -d 2`
|
|
|
|
|
|
|
|
|
|
#### Adding HTTP Headers
|
|
|
|
|
Using the `--headers` switch will open an interactive prompt where you can paste your headers. Press `Ctrl + S` to save and procced.
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
> **Note:** Arjun uses `nano` as the default editor for the prompt but you can change it by tweaking `/core/prompt.py`.
|
2018-11-10 05:26:26 +05:30
|
|
|
|
|
|
|
|
##### Credits
|
|
|
|
|
The parameter names list has been taken from [@SecLists](https://github.com/danielmiessler/SecLists)
|