Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
bypass-url-parser — 测试数百种URL绕过技术,针对40X保护的页面,使用原生curl请求,支持多模式扫描、头部伪造以及JSON/HTML结果导出,用于访问控制评估。 | Kitploit
工具/GitHubGitHub/laluka/bypass-url-parser
漏洞分析信息收集WAF绕过Web安全渗透测试
GitHublaluka/bypass-url-parser

bypass-url-parser

测试数百种URL绕过技术,针对40X保护的页面,使用原生curl请求,支持多模式扫描、头部伪造以及JSON/HTML结果导出,用于访问控制评估。

查看仓库
1.1k122121年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

Bypass Url Parser

PyPI - Version PyPI - Python Version PyPI - License pdm-managed

该工具测试多种URL绕过技术,以访问40X保护的页面。

如果你好奇为什么这段代码只不过是一个简陋的curl封装,原因如下:

  • 大多数Python请求库会对URL/路径/参数进行编码/解码,而我讨厌这一点。
  • 如果我提交原始字符,我就要发送原始字符。
  • 如果我发送一个奇怪的路径,我就想要它保持奇怪,而不是被标准化。

在Python中,要在不丢失库的所有好处(如解析、SSL/TLS封装等)的情况下实现这一点,出乎意料地困难。
所以,像我一样,使用curl作为后端,这就行了。

此外,该工具也可以作为库使用,参见lib_sample_usage.py

安装

我们推荐使用pipx来安装此工具:```bash pipx install bypass-url-parser

or for the latest dev version

pipx install git+https://github.com/laluka/bypass-url-parser

或者,你可以使用 `pip`:```bash
pip install bypass-url-parser

用法```

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 (-u | -R ) [-m ] [-o ] [-S ] [ (-H

)...] [-r ] [-s ] [--spoofip-replace] [-p ] [--spoofport-replace] [-t ] [-T ] [--request-tls] [--jsonl] [--dump-payloads] [-x <proxy_url>] [-v | -d | -dd]

Program options: -u, --url URL (path is optional) to run bypasses against -R, --request Load HTTP raw request from a file -H, --header

Header(s) to use, format: "Cookie: can_i_haz=fire" -m, --mode Bypass modes. See 'Bypasser.BYPASS_MODES' in code [Default: all] -o, --outdir Output directory for results -x, --proxy <proxy_url> Set a proxy in the format http://proxy_ip:port. -S, --save-level Save results level. From 0 (DISABLE) to 3 (FULL) [Default: 2] -s, --spoofip IP(s) to inject in ip-specific headers -p, --spoofport Port(s) to inject in port-specific headers -r, --retry Retry attempts of failed requests. Set 0 to disable all retry tentatives [Default: 1] -t, --threads Scan with N parallel threads [Default: 1] -T, --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. --jsonl Print results in JSON lines format (pipe command output)

Examples: bypass-url-parser -u "http://127.0.0.1/juicy_403_endpoint/" -s 8.8.8.8 -d bypass-url-parser -u /path/urls -t 30 -T 5 -H "Cookie: me_iz=admin" -H "User-agent: test" bypass-url-parser -R /path/request_file --request-tls -m "mid_paths, end_paths"

## 预期结果```bash
bypass-url-parser -u http://127.0.0.1:8000/foo/bar
2022-08-09 14:52:40 lalu-perso bup[361559] WARNING Trying to bypass 'http://127.0.0.1:8000/foo/bar' url (3213 payloads)...
2022-08-09 14:52:40 lalu-perso bup[361559] INFO Doing: 50 / 3213
[...]
2022-08-09 14:52:54 lalu-perso bup[361559] INFO Doing: 3200 / 3213
2022-08-09 14:52:54 lalu-perso bup[361559] INFO Retry (1/3) the '16' failed curl commands with 10 threads and 10s timeout
2022-08-09 14:52:54 lalu-perso bup[361559] INFO Retry (2/3) the '16' failed curl commands with 5 threads and 20s timeout
2022-08-09 14:52:54 lalu-perso bup[361559] INFO Retry (3/3) the '16' failed curl commands with 1 threads and 30s timeout
2022-08-09 14:52:55 lalu-perso bup[361559] INFO
[#####] [bypass_method] [payload] => [status_code] [content_type] [content_length] [lines_count] [word_counts] [title] [server] [redirect_url]
[GROUP (1587)] [original_request] [http://127.0.0.1:8000/foo/bar] => [404] [text/html] [469] [14] [95] [Error response] [SimpleHTTP/0.6 Python/3.8.10] []
[GROUP (10)] [http_methods] [-X CONNECT http://127.0.0.1:8000/foo/bar] => [501] [text/html] [500] [14] [96] [Error response] [SimpleHTTP/0.6 Python/3.8.10] []
[SINGLE] [mid_paths] [http://127.0.0.1:8000/???foo/bar] => [200] [text/html] [913] [26] [27] [Directory listing for /???foo/bar] [SimpleHTTP/0.6 Python/3.8.10] []
[SINGLE] [mid_paths] [http://127.0.0.1:8000//???foo/bar] => [301] [] [] [0] [0] [] [SimpleHTTP/0.6 Python/3.8.10] [/???foo/bar]
[SINGLE] [mid_paths] [http://127.0.0.1:8000/??foo/bar] => [200] [text/html] [911] [26] [27] [Directory listing for /??foo/bar] [SimpleHTTP/0.6 Python/3.8.10] []
[SINGLE] [mid_paths] [http://127.0.0.1:8000//??foo/bar] => [301] [] [] [0] [0] [] [SimpleHTTP/0.6 Python/3.8.10] [/??foo/bar]
[SINGLE] [mid_paths] [http://127.0.0.1:8000/?foo/bar] => [200] [text/html] [909] [26] [27] [Directory listing for /?foo/bar] [SimpleHTTP/0.6 Python/3.8.10] []
[SINGLE] [mid_paths] [http://127.0.0.1:8000//?foo/bar] => [301] [] [] [0] [0] [] [SimpleHTTP/0.6 Python/3.8.10] [/?foo/bar]
[SINGLE] [mid_paths] [http://127.0.0.1:8000///?anythingfoo/bar] => [200] [text/html] [929] [26] [27] [Directory listing for ///?anythingfoo/bar] [SimpleHTTP/0.6 Python/3.8.10] []
[SINGLE] [mid_paths] [http://127.0.0.1:8000////?anythingfoo/bar] => [200] [text/html] [931] [26] [27] [Directory listing for ////?anythingfoo/bar] [SimpleHTTP/0.6 Python/3.8.10] []
[GROUP (2)] [mid_paths] [http://127.0.0.1:8000/#?foo/bar] => [200] [text/html] [893] [26] [27] [Directory listing for /] [SimpleHTTP/0.6 Python/3.8.10] []
[GROUP (2)] [mid_paths] [http://127.0.0.1:8000//#?foo/bar] => [301] [] [] [0] [0] [] [SimpleHTTP/0.6 Python/3.8.10] [/]

设置

LINUX```bash

Deps

sudo apt install -y bat curl virtualenv python3

Tool

virtualenv -p python3 .py3 source .py3/bin/activate PDM_BUILD_SCM_VERSION="$(git describe --abbrev=0)-dev" pip install .

If bup installed globally, use

python src/bypass_url_parser/init.py -u https://thinkloveshare.com/juicy_403_endpoint/

Else this should work

bypass-url-parser -u https://thinkloveshare.com/juicy_403_endpoint/ cat /tmp/tmpRANDOM-bypass-url-parser/triaged-bypass.json | jq -r '.results[].request_curl_cmd' cat /tmp/tmpRANDOM-bypass-url-parser/triaged-bypass.json | jq -r '.results[].response_data'

### DOCKER```bash
docker run --rm -it -v "$PWD:/host" -w /host ghcr.io/laluka/bypass-url-parser:latest bash -il
# Then bup -h, keep the docker open as the output is saved by default in /tmp
# Or specify the output to the current directory, and consult them later! :)

关于支持的参数的更多信息

参数解析

Bypass_url_parser 允许以多种方式定义一些参数:

  • -m, --mode, -s, --spoofip 和 -p, --spoofport 参数可以是文件名、字符串、逗号分隔的字符串列表或列表(当 Bypasser 作为库使用时);
  • -u, --url 参数可以是文件名、字符串或列表(当 Bypasser 作为库使用时);
  • 所有这些参数都支持 stdin(使用 -)。

例如,如果你想定义多个目标 URL(-u, --url),以下所有命令都会产生相同的结果:```bash bypass-url-parser -u http://thinkloveshare.com/test bypass-url-parser -u /path/urls cat /path/urls | bypass-url-parser -u - echo 'http://thinkloveshare.com/test' | bypass-url-parser -u -

### 目标定义

必须为工具定义一个目标才能工作。有2个选项:

- `-u, --url`: URL(s),使用GET方法
- `-R, --request`: 请求文件。无法从文件中猜测协议,因此默认为`http`,如果存在`--request-tls`选项则为`https`。

### 绕过模式

如果指定了`-m, --mode`,您可以选择所需的绕过模式来运行特定测试(或多个测试),从而减少工具发送的请求数量。
下载工具