ecurl is an encoded wrapper around curl for authorized penetration testing and security automation.
It simplifies payload encoding, session persistence, batch payload testing, and JSON-based chaining β all while keeping full curl flexibility. (just add an 'e'!)
The tool is lightweight, self-contained (Bash), and tested under Debian, Ubuntu, and Kali Linux.
β οΈ Use responsibly. Only perform security testing on systems you have explicit permission to test.
| Category | Description |
|---|---|
| Encoding | URL, double, HTML, Base64, Unicode |
| Session Management | Persistent cookies, replay, export/import |
| Batch Testing | Run payloads from file with delays/threads |
| JSON Output | Base64-safe structured output for pipelines |
| Proxy & TLS | Full proxy, client cert, and SSL control |
| Error Handling | Granular exit codes, robust curl wrappers |
| Colorized Output | Clear status display with ANSI detection |
| Forensics Ready | History logging to ~/.ecurl_history |
git clone https://github.com/jaketcooper/ecurl.git
cd ecurl
sudo make install(Recommended once released to Kali repos)
sudo apt install ecurlThis installs:
/usr/bin/ecurl
/usr/share/man/man1/ecurl.1.gz
/usr/share/doc/ecurl/*
Dependencies are automatically resolved (curl, perl, jq, liburi-perl).
ecurl [OPTIONS]
-i, --injection <TEXT> Payload to encode and send
-t, --target <URL> Persistent target
-c, --count <N> Number of encoding passes
--encode-type <TYPE> url, html, base64, unicode
--json Output as JSON (for chaining)
--payload-file <FILE> Batch payload testing
--session <NAME> Named cookie persistence
--replay <FILE> Replay a saved request
-s, --show Show encoded payload only
--version Display versionecurl -t "https://target/api?id="
ecurl -i "' OR '1'='1"ecurl --payload-file payloads.txt -c 2 --delay 1ecurl -i test --json | jq '.response.status'| Type | Input | Output |
|---|---|---|
| url | ' OR 1=1-- |
%27%20OR%201%3D1-- |
| html | <script> |
<script> |
| base64 | abc123 |
YWJjMTIz |
| unicode | A |
\u0041 |
- Replay Mode β export and rerun full requests
- Tamper Scripts β custom transforms before sending
- Grep & Match Filters β highlight or extract response fragments
- Threaded Batch Mode β queue large payload sets efficiently
- Written in pure Bash, portable across most POSIX shells
- Error-resistant: no unguarded
eval, no silent failures - Fully compatible with Kali's Debhelper 12+ build system
For deeper architectural details, see:
Contributions, patches, and packaging improvements are welcome.
Please see CONTRIBUTING.md and adhere to the CODE_OF_CONDUCT.md.
See SECURITY.md for responsible disclosure and vulnerability reporting.
Licensed under the MIT License. Β© 2025 Jake Cooper
ecurl is Debian Policy-compliant and structured for inclusion in Kali Rolling:
debian/controldefines dependencies (curl,perl,jq,liburi-perl)debian/rulesuses standarddhbuild helper- Man page:
/usr/share/man/man1/ecurl.1.gz - Lintian clean
For detailed packaging steps, refer to PACKAGING.md.