Mass-scale hidden parameter discovery using Arjun. A high-performance wrapper that parallelizes Arjun for efficient parameter discovery across multiple targets.
msarjun supercharges Arjun by enabling concurrent scanning of multiple URLs, dramatically reducing execution time while maintaining the powerful detection capabilities of the original tool.
- 🚀 Mass Parallelization: Scan hundreds of URLs concurrently with configurable concurrency
- 🔧 Automatic Setup: Self-downloads default wordlist on first run
- 🛠️ Tool Integration: Clean output formats for seamless pipeline integration
- 📊 Multiple Output Formats: Standard, JSON, and filtered URL outputs
- ⚡ Performance Optimized: Significant speed improvements over sequential processing
wget -q https://github.com/s0md3v/Arjun/archive/refs/tags/2.2.7.zip
unzip -q 2.2.7.zip && cd Arjun-2.2.7 && python3 setup.py install && cd .. && rm -rf 2.2.7.zip Arjun-2.2.7
go install github.com/rix4uni/msarjun@latest
wget https://github.com/rix4uni/msarjun/releases/download/v0.0.4/msarjun-linux-amd64-0.0.4.tgz
tar -xvzf msarjun-linux-amd64-0.0.4.tgz
rm -rf msarjun-linux-amd64-0.0.4.tgz
mv msarjun ~/go/bin/msarjun
Or download binary release for your platform.
git clone --depth 1 https://github.com/rix4uni/msarjun.git
cd msarjun; go install
Usage of msarjun:
-a, --append-output string File to append the output instead of overwriting.
-c, --concurrency int Number of concurrent URL scans (default 10)
-j, --json Output results in JSON format
-m, --methods string HTTP methods to test (comma-separated) (default "GET")
-o, --output string File to save the output.
--silent Silent mode.
-t, --tfilter Print only transformed URLs for tool integration.
--verbose Enable verbose output for debugging purposes.
--version Print the version of the tool and exit.
-w, --wordlist string Custom wordlist (default "~/.config/msarjun/params.txt")# Single URL with default settings
echo "http://testphp.vulnweb.com/AJAX/infocateg.php" | msarjun
# Single URL with multiple methods
echo "http://testphp.vulnweb.com/AJAX/infocateg.php" | msarjun -m GET,POST,XML,JSON
# Custom wordlist
echo "http://testphp.vulnweb.com/AJAX/infocateg.php" | msarjun -w /path/to/wordlist.txt| Scenario | Time | Command |
|---|---|---|
| Sequential (5 URLs) | 2m47s | cat urls.txt | msarjun -m GET,POST,XML,JSON |
| Concurrent (5 URLs) | 25s | cat urls.txt | msarjun -m GET,POST,XML,JSON -c 10 |
→ 85% faster execution with concurrency
- Domain Distribution: Use
-concurrencyprimarily for scanning different domains/subdomains - Rate Limiting: Randomize URLs with
shufwhen scanning same-domain endpoints - Progressive Scanning: Start with lower concurrency (
-c 10) and increase based on target responsiveness - Output Management: Use
-tfilterfor tool pipelines and-jfor automated processing
- Arjun not found: Ensure Arjun is installed and accessible in your PATH
- Wordlist issues: Delete
~/.config/msarjun/params.txtto trigger redownload - Performance problems: Reduce concurrency with
-cfor rate-limited targets - Verbose debugging: Use
--verboseflag to identify specific issues