[short_descr]
Tool that tests MANY url bypasses to reach a 40X protected page.
[/short_descr]
[long_descr]
If you wonder why this code is nothing but a dirty curl wrapper, here's why:
Most of the python requests do url/path/parameter encoding/decoding, and I hate this.
If I submit raw chars, I want raw chars to be sent.
If I send a weird path, I want it weird, not normalized.
This is surprisingly hard to achieve in python without loosing all of the lib goodies like parsing, ssl/tls encapsulation and so on. \
So, be like me, use curl as a backend, it's gonna be just fine.
Bypass Url Parser, made with love by @TheLaluka
A tool that tests MANY url bypasses to reach a 40X protected page.
Usage:
./bypass_url_parser.py (-u <URL> | -R <file>) [-m <mode>] [-o <outdir>] [-S <level>] [ (-H <header>)...] [-r <num>]
[-s <ip>] [--spoofip-replace] [-p <port>] [--spoofport-replace] [--request-tls]
[--dump-payloads] [-t <threads>] [-T <timeout>] [-x <proxy_url>] [-v | -d | -dd]
Program options:
-u, --url <URL> URL (path is optional) to run bypasses against
-R, --request <file> Load HTTP raw request from a file
-H, --header <header> Header(s) to use, format: "Cookie: can_i_haz=fire"
-m, --mode <mode> Bypass modes. See 'Bypasser.BYPASS_MODES' in code [Default: all]
-o, --outdir <outdir> Output directory for results
-x, --proxy <proxy_url> Set a proxy in the format http://proxy_ip:port.
-S, --save-level <level> Save results level. From 0 (DISABLE) to 3 (FULL) [Default: 1]
-s, --spoofip <ip> IP(s) to inject in ip-specific headers
-p, --spoofport <port> Port(s) to inject in port-specific headers
-r, --retry <num> Retry attempts of failed requests. Set 0 to disable all retry tentatives [Default: 3]
-t, --threads <threads> Scan with N parallel threads [Default: 1]
-T, --timeout <timeout> Request times out after N seconds [Default: 5]
General options:
-h, --help Show help, you are here :)
-v, --verbose Verbose output
-d, --debug Show more details like curl commands generated by this tool
-dd, --debug Print Debug level 2 (with all classes debug_class output)
-V, --version Show version info
Misc options:
--spoofip-replace Disable list of default internal IPs in 'http_headers_ip' bypass mode
--spoofport-replace Disable list of default internal ports in 'http_headers_port' bypass mode
--request-tls Force usage of TLS/HTTPS for the request load with the '-R, --request' option
--dump-payloads Print all payloads (curls) generated by this tool.
Examples:
./bypass_url_parser.py -u "http://127.0.0.1/juicy_403_endpoint/" -s 8.8.8.8 -d
./bypass_url_parser.py -u /path/urls -t 30 -T 5 -H "Cookie: me_iz=admin" -H "User-agent: test"
./bypass_url_parser.py -R /path/request_file --request-tls -m "mid_paths, end_paths"
[homepage] https://github.com/laluka/bypass-url-parser [/homepage]
[tags] 403-bypass, bypass, 403, parser [/tags]
[short_descr] Tool that tests MANY url bypasses to reach a 40X protected page. [/short_descr]
[long_descr]
If you wonder why this code is
nothing but a dirty curl wrapper
, here's why:This is
surprisingly hard
to achieve in python without loosing all of the lib goodies like parsing, ssl/tls encapsulation and so on. \ So, be like me, usecurl as a backend
, it's gonna be just fine.Also, this tool can be used as a library, see lib_sample_usage.py
Usage
[/long_descr]
[image]
[/image]