RI
rix4uni/msarjun
Mass-scale hidden parameter discovery using Arjun. A high-performance wrapper that parallelizes Arjun for efficient parameter discovery across multiple targets.
msarjun
Mass-scale hidden parameter discovery using Arjun. A high-performance wrapper that parallelizes Arjun for efficient parameter discovery across multiple targets.
Overview
msarjun supercharges Arjun by enabling concurrent scanning of multiple URLs, dramatically reducing execution time while maintaining the powerful detection capabilities of the original tool.
Features
- ๐ 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
Prerequisites
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
Installation
go install github.com/rix4uni/msarjun@latest
Download prebuilt binaries
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.
Compile from source
git clone --depth 1 https://github.com/rix4uni/msarjun.git
cd msarjun; go install
Usage
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")Usage Examples
Basic Scanning
# 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.txtPerformance Comparison
| 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
Best Practices
- 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
Troubleshooting
- 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
Acknowledgments
On this page
Languages
Go100.0%
Contributors
Created September 6, 2024
Updated November 19, 2025