Skip to content

Commit 5197121

Browse files
authored
2.0-beta release
2 parents a6b3349 + aee96ac commit 5197121

15 files changed

Lines changed: 704 additions & 336 deletions

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
#### 2.0-beta
2+
- Added an anamoly detection algorithm with 9 factors
3+
- Added a HTTP response analyzer for handling errors and retrying requests
4+
- Significantly improved heuristic scanner
5+
- `--passive` option for collecting parameters from otx, commoncrawl and archive.org
6+
- `-c` option to define number of parameters to be sent at once
7+
- import via `-i` options now supports: BurpSuite log, raw request file, text file with urls
8+
- `-T` option to specify HTTP connection timeout
9+
- combined `-m` option for specifiying HTTP request method
10+
- Various bug fixes and better output
11+
112
#### 1.6
213
- `--stable` switch for handling rate limits
314
- Include empty JS variables for testing

README.md

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,51 +18,44 @@
1818
</a>
1919
</p>
2020

21-
![demo](https://i.ibb.co/Ln32F4B/arjun-demo.png)
21+
![demo](https://i.ibb.co/q5F8qPY/Screenshot-2020-12-06-21-54-52.png)
22+
23+
### What's Arjun?
24+
25+
Arjun can find query parameters for URL enpoints. If you don't get what that means, it's okay, read along.
2226

23-
### Introduction
2427
Web applications use parameters (or queries) to accept user input, take the following example into consideration
2528

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

2831
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?\
2932
This is what Arjun does, it finds valid HTTP parameters with a huge default dictionary of 25,980 parameter names.
3033

31-
The best part? It takes less than 30 seconds to go through this huge list while making just 50-60 requests to the target.\
32-
Want to know how Arjun does that? [Here's how](https://github.com/s0md3v/Arjun/wiki/How-Arjun-works%3F).
33-
34-
### Donations
35-
You can encourage me to contribute more to the open source with donations.
34+
The best part? It takes less than 20 seconds to go through this huge list while making just 50-60 requests to the target. [Here's how](https://github.com/s0md3v/Arjun/wiki/How-Arjun-works%3F).
3635

37-
- Paypal - [https://paypal.me/s0md3v](https://paypal.me/s0md3v)
38-
- Credit/Debit Card - [https://www.buymeacoffee.com/s0md3v](https://www.buymeacoffee.com/s0md3v)
36+
### Why Arjun?
3937

40-
Do you want to sponsor Arjun and get mentioned here? Email me `s0md3v[at]gmail[dot]com`
38+
- Anamoly detection with 9 factors
39+
- Suppots `GET/POST/POST-JSON`
40+
- Automatically handles rate limits and timeouts
41+
- Can import targets from BurpSuite, text file or a raw request file
42+
- Can passively extract parameters from JS or 3 external sources
43+
- Makes ~50 requests in 20 seconds for checking 25,980 parameter names
4144

42-
### Features
43-
- Multi-threading
44-
- Thorough detection
45-
- Automatic rate limit handling
46-
- A typical scan takes 30 seconds
47-
- `GET/POST/JSON` methods supported
48-
- Huge list of 25,980 parameter names
45+
### How to use Arjun?
4946

5047
> **Note:** Arjun doesn't work with python < 3.4
5148
52-
#### How to use Arjun?
49+
A detailed usage guide is available on [Usage](https://github.com/s0md3v/Arjun/wiki/Usage) section of the Wiki.
5350

54-
A detailed usage guide is available on [Usage](https://github.com/s0md3v/Arjun/wiki/Usage) section of the Wiki.\
51+
Direct links to some basic options are given below:
5552

56-
An index of options is given below:
53+
- [Scan a single URL](https://github.com/s0md3v/Arjun/wiki/Usage#scan-a-single-url)
54+
- [Import multiple targets](https://github.com/s0md3v/Arjun/wiki/Usage#import-multiple-targets)
55+
- [Save output to a file](https://github.com/s0md3v/Arjun/wiki/Usage#save-output-to-a-file)
56+
- [Use custom HTTP headers](https://github.com/s0md3v/Arjun/wiki/Usage#use-custom-http-headers)
5757

58-
- [Scanning a single URL](https://github.com/s0md3v/Arjun/wiki/Usage#scanning-a-single-url)
59-
- [Scanning multiple URLs](https://github.com/s0md3v/Arjun/wiki/Usage#scanning-multiple-urls)
60-
- [Choosing number of threads](https://github.com/s0md3v/Arjun/wiki/Usage#multi-threading)
61-
- [Handling rate limits](https://github.com/s0md3v/Arjun/wiki/Usage#handling-rate-limits)
62-
- [Delay between requests](https://github.com/s0md3v/Arjun/wiki/Usage#delay-between-requests)
63-
- [Including presistent data](https://github.com/s0md3v/Arjun/wiki/Usage#including-persistent-data)
64-
- [Saving output to a file](https://github.com/s0md3v/Arjun/wiki/Usage#saving-output-to-a-file)
65-
- [Adding custom HTTP headers](https://github.com/s0md3v/Arjun/wiki/Usage#adding-http-headers)
58+
Optionally, you can use the `--help` argument to explore Arjun on your own.
6659

6760
##### Credits
68-
The parameter names are taken from [@SecLists](https://github.com/danielmiessler/SecLists).
61+
The parameter names wordlist is taken from [@SecLists](https://github.com/danielmiessler/SecLists).

0 commit comments

Comments
 (0)