mirror of
https://github.com/gelusus/wxvl.git
synced 2026-10-28 19:30:54 +00:00
文件上传漏洞总结、【自研工具】Zack-AI-Scanner AI智能Web漏洞扫描BurpSuite插件、Nginx文件解析漏洞、Claude Code源码泄露:一个低危漏洞,暴露了一个大问题、TP-Link路由器一次曝出5个漏洞,家庭和小办公网关再次站上风口、EarthEmbeddingExplorer:零门槛、多模态,像搜图一样探索全球卫星影像、【在野利用】Adobe Acrobat Reader 远程代码执行漏洞(CVE-2026-34621)安全风险通告、【已复现】Nginx ngx_http_dav_module 堆缓冲区溢出漏洞(CVE-2026-27654)安全风险通告、
This commit is contained in:
1 parent
6851765b8d
commit
ad406e3372
9 files changed
+1591
-1
No files matched your search
@@ -19818,5 +19818,13 @@
|
||||
"https://mp.weixin.qq.com/s/OJ9uotBEXlJnPf-oXx-UOg": "Claude Mythos找出27年前大漏洞,网安饭碗保不住了",
|
||||
"https://mp.weixin.qq.com/s/svM2fKlM7TXAItPEKSA27w": "打破K8s命名空间隔离:CVE-2026-4789 Kyverno漏洞详解",
|
||||
"https://mp.weixin.qq.com/s/PLOiAq8Nh2xBzmAHfFNR5A": "漏洞复现 | 中成科信综合管理平台 UploadFile 存在任意文件上传漏洞",
|
||||
"https://mp.weixin.qq.com/s/6YlCwWoHclWGzu_tIpvEZQ": "Fortinet FortiClientEMS 访问控制不当漏洞CVE-2026-35616利用分析及历史漏洞总结"
|
||||
"https://mp.weixin.qq.com/s/6YlCwWoHclWGzu_tIpvEZQ": "Fortinet FortiClientEMS 访问控制不当漏洞CVE-2026-35616利用分析及历史漏洞总结",
|
||||
"https://mp.weixin.qq.com/s/vVvsiHE0tfMLBiuofErh-g": "文件上传漏洞总结",
|
||||
"https://mp.weixin.qq.com/s/ifEiawLaPusWlyOuvio-iA": "【自研工具】Zack-AI-Scanner AI智能Web漏洞扫描BurpSuite插件",
|
||||
"https://mp.weixin.qq.com/s/QuaQeQJXu7sOpBHAGYS1aA": "Nginx文件解析漏洞",
|
||||
"https://mp.weixin.qq.com/s/mN3CDNEWSATcRTUp0SF5FQ": "Claude Code源码泄露:一个低危漏洞,暴露了一个大问题",
|
||||
"https://mp.weixin.qq.com/s/oCXmFaAqmbL-Esk_dXJ3jA": "TP-Link路由器一次曝出5个漏洞,家庭和小办公网关再次站上风口",
|
||||
"https://mp.weixin.qq.com/s/BZ9DwQ17qxK-h9JBqcXM0g": "EarthEmbeddingExplorer:零门槛、多模态,像搜图一样探索全球卫星影像",
|
||||
"https://mp.weixin.qq.com/s/Ryuqi4xMPYE0gUdXjcOWwg": "【在野利用】Adobe Acrobat Reader 远程代码执行漏洞(CVE-2026-34621)安全风险通告",
|
||||
"https://mp.weixin.qq.com/s/ALRmxBvIKyttLJqYM7jBOA": "【已复现】Nginx ngx_http_dav_module 堆缓冲区溢出漏洞(CVE-2026-27654)安全风险通告"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
# Claude Code源码泄露:一个低危漏洞,暴露了一个大问题
|
||||
幻泉之洲 2026-04-13 05:39
|
||||
|
||||
>
|
||||
|
||||
|
||||
2026年3月底,Anthropic的代码助手工具Claude Code的源代码被意外公开。这立即引来了一波安全审计。很快,一个漏洞被确认了。
|
||||
|
||||
先说结论:这个漏洞本身的严重性被定为“低”。它更像是一道冗余防线上的缺口,本身不致命。但我们仔细看了之后,觉得事情没这么简单。Anthropic给Claude Code配备了审查、安全以及专门的审计工具,即便如此,还是有改进空间。这本身就说明点什么。
|
||||
## 漏洞详情:不设防的环境变量写入
|
||||
|
||||
问题出在Claude Code的结构化输入输出层。这个模块通过传输协议接收一种叫update_environment_variables的消息。processLine方法处理这个消息时,会直接把发来的键值对塞进process.env里。
|
||||
|
||||
if (message.type === 'update_environment_variables') { const keys = Object.keys(message.variables) for (const [key, value] of Object.entries(message.variables)) { process.env[key] = value }}
|
||||
|
||||
这个功能的本意是好的,只是为了方便更新一个会话令牌(CLAUDE_CODE_SESSION_ACCESS_TOKEN)。但它的实现方式太粗放了:它允许写入进程里的任何一个环境变量,没有白名单限制。
|
||||
>
|
||||
|
||||
## 攻击场景:远程工作模式下的信任危机
|
||||
|
||||
在本地命令行模式下,这个问题不大,因为通信发生在父子进程之间,双方默认是可信的。真正的风险发生在“远程工作者”模式下。
|
||||
|
||||
在这种模式下,Claude Code会通过WebSocket或SSE连接到一个会话入口服务器。关键在于,RemoteIO类会把从服务器收到的任何传输数据,不加过滤地直接灌进processLine()方法。更关键的是,服务器并不会向客户端证明自己的身份。
|
||||
|
||||
流程是这样的:Claude Code会发送一个Bearer令牌来证明自己的身份,但完全没有机制去验证对面的服务器是不是可信的。这是一种单向信任。
|
||||
|
||||
安全研究团队做了个概念验证,搭建了一个恶意的WebSocket服务器。服务器发出一条消息,通过update_environment_variables设置NODE_OPTIONS环境变量,让它加载一个恶意的JavaScript文件。当Claude Code连接后,一旦它启动一个子Node.js进程,预设的恶意代码就会执行。他们用这种方法成功地在测试机器上留下了一个标记文件,证明了远程代码执行的可行性。
|
||||
|
||||
除了远程执行代码,这种机制还能干很多其他事:
|
||||
- 通过设置ANTHROPIC_BASE_URL变量,可以把API调用和OAuth认证流程重定向到攻击者控制的服务器,从而窃取凭证和会话内容。
|
||||
- 设置HTTPS_PROXY,可以把所有HTTPS流量都导向攻击者的代理服务器。
|
||||
- 设置NODE_TLS_REJECT_UNAUTHORIZED=0,可以完全关闭TLS证书验证,中间人攻击就变得轻而易举。
|
||||
说白了,在这个远程模式下,服务端可以对工作程序的运行环境进行不受限制的控制。客户端的身份认证,并不能保证服务端发来的指令是可信的。
|
||||
## 问题的根源:信任模型错了
|
||||
|
||||
这个漏洞的修复简单到令人尴尬:加一行代码,搞个白名单,只允许修改以CLAUDE_CODE_开头的环境变量就行。
|
||||
|
||||
那么,为什么一开始没这么做?
|
||||
|
||||
我个人觉得,这不仅仅是疏忽。这里暴露了一个在构建AI工具时常见的思维定势:**我们总是默认“服务器是好的”**。
|
||||
|
||||
这套逻辑在传统的B/S架构里或许成立,服务器通常是自己或可信伙伴掌控的。但Claude Code的远程工作模式很可能被用在更复杂的场景里,比如连接第三方平台、云服务商或者客户自己搭建的网关。在这种环境下,你连接的那个端点,本身就可能是不可信的,或者可能会被攻陷。
|
||||
|
||||
从这个角度看,这个低危漏洞其实捅破了一层窗户纸:**我们给AI工具设计安全边界时,可能还没完全适应它们要面对的新环境**。它不再是运行在封闭环境里的单个应用,而是一个可能要和外部世界各种端点交互的智能体。单向的信任模型,在这里是失效的。
|
||||
## 一点反思
|
||||
|
||||
Anthropic的反应很专业,收到报告几天内就确认了技术分析。整个报告是公开的,源代码的审核过程也很透明。
|
||||
|
||||
这次事件真正的价值,不是发现了一个能被很快修复的代码缺陷。它更像是一个提醒,提醒所有在构建AI原生工具的团队:
|
||||
|
||||
随着这些工具的功能越来越强,应用场景越来越广,它们的安全模型也必须跟着升级。过去那种基于固定边界的假设,需要被基于零信任或最小信任原则的设计所取代。客户端不仅要证明自己是谁,也需要有能力验证它在和谁对话。
|
||||
|
||||
说白了,当你的AI开始帮你在网络上“跑腿”时,你得确保它别随便从一个陌生人手里接过“包裹”。即使那个陌生人自称是“服务站”。这个Claude Code的漏洞,就是接过了不该接的东西。修复代码容易,但修复这个信任模型的设计思路,可能需要想的更多。
|
||||
### 参考资料
|
||||
|
||||
[1]
|
||||
https://audited.xyz/blog/claude-code
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
# EarthEmbeddingExplorer:零门槛、多模态,像搜图一样探索全球卫星影像
|
||||
原创 mapxiaotu
|
||||
mapxiaotu 空天感知 2026-04-13 04:12
|
||||
|
||||
- **论文标题**EARTHEMBEDDINGEXPLORER: A WEB APPLICATION FOR CROSS-MODAL RETRIEVAL OF GLOBAL SATELLITE IMAGES
|
||||
- **作者机构**中科院空天院、中国科学院大学、LGND AI、伦敦大学学院等
|
||||
- **论文链接**https://arxiv.org/abs/2603.29441v2
|
||||
- **体验地址:ModelScope Studio**
|
||||
可以访问这个Web试用:
|
||||
|
||||
https://modelscope.ai/studios/Major-TOM/EarthEmbeddingExplorer/summary
|
||||
|
||||

|
||||
|
||||
|
||||
文本检索
|
||||
|
||||

|
||||
|
||||
相似图检索
|
||||
### 研究背景
|
||||
|
||||
在地球观测领域,虽然基础模型(Foundation Models)和全球尺度的嵌入数据集(Earth Embeddings)层出不穷,但将这些学术资产转化为普通研究者可用的工具却面临巨大障碍。
|
||||
|
||||
目前,用户若想利用这些模型进行搜索或分析,通常需要下载数以 TB 计的数据包,自行搭建嵌入流水线,并开发复杂的向量检索与可视化系统。
|
||||
|
||||
这种技术门槛限制了前沿模型在非专家团队中的普及。
|
||||
### 核心贡献
|
||||
|
||||
1. **交互式 Web 应用:开发了 EarthEmbeddingExplorer,将静态的科研成果转化为动态、实用的发现工作流。**
|
||||
1. **跨模态检索:支持自然语言(文本)、视觉(图像)和地理位置三种查询模式。**
|
||||
1. **预集成主流模型:内置了 DINOv2、FarSLIP、SatCLIP 和 SigLIP 四种具有代表性的基础模型。**
|
||||
1. **全球化规模:基于 Major TOM 数据集,提供了覆盖全球约 1.4% 陆地表面的 24.8 万个预计算嵌入切片。**
|
||||
|
||||
### 系统架构
|
||||
|
||||
EarthEmbeddingExplorer 采用了云原生架构,前端基于 Gradio 构建,部署在 ModelScope Studio 等开放平台上,为用户提供免费的 GPU 算力支持。
|
||||
|
||||

|
||||
|
||||
图 1:基于 ModelScope Studio 的云原生检索流程
|
||||
|
||||
系统核心逻辑包括:
|
||||
|
||||
- **高效存储**
|
||||
:使用 GeoParquet 格式存储预计算嵌入,支持高并发查询和 HTTP Range Download,实现秒级实时可视化。
|
||||
|
||||
- **灵活过滤**
|
||||
:用户可以根据模型权重、相似度阈值、时间及空间范围进行多维度过滤。
|
||||
|
||||

|
||||
|
||||
图 2:EarthEmbeddingExplorer 用户界面展示
|
||||
### 核心模型对比
|
||||
|
||||
应用集成了四种互补的模型,满足不同场景下的检索需求:
|
||||
<table><caption><section><span leaf=""><br/></span></section></caption><tfoot><tr><td><section><span leaf=""><br/></span></section></td></tr></tfoot></table><table><tfoot><tr><td><section><span leaf=""><br/></span></section></td></tr></tfoot></table><table><caption><section><span leaf=""><br/></span></section></caption><tfoot><tr><td></td></tr></tfoot><colgroup><col/><col/><col/><col/><col/></colgroup></table><table><thead><tr><th align="left" style="border:1px solid #eee;padding:10px;text-align:left;background-color:#f9f9f9;font-weight:bold;"><section><span leaf="">模型</span></section></th><th align="left" style="border:1px solid #eee;padding:10px;text-align:left;background-color:#f9f9f9;font-weight:bold;"><section><span leaf="">架构</span></section></th><th align="left" style="border:1px solid #eee;padding:10px;text-align:left;background-color:#f9f9f9;font-weight:bold;"><section><span leaf="">训练数据集</span></section></th><th align="left" style="border:1px solid #eee;padding:10px;text-align:left;background-color:#f9f9f9;font-weight:bold;"><section><span leaf="">输入模态</span></section></th><th align="left" style="border:1px solid #eee;padding:10px;text-align:left;background-color:#f9f9f9;font-weight:bold;"><section><span leaf="">维度</span></section></th></tr></thead><tbody><tr><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><strong><span leaf="">DINOv2</span></strong></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">ViT-L/14</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">LVD-142M</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">视觉 (RGB)</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">1024</span></section></td></tr><tr><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><strong><span leaf="">FarSLIP</span></strong></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">ViT-B/16</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">RS5M, MGRS</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">文本-视觉对齐</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">512</span></section></td></tr><tr><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><strong><span leaf="">SatCLIP</span></strong></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">ViT16-L40</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">S2-100K</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">位置-视觉对齐</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">256</span></section></td></tr><tr><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><strong><span leaf="">SigLIP</span></strong></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">ViT-SO400M</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">WebLI</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">文本-视觉对齐</span></section></td><td align="left" style="border:1px solid #eee;padding:10px;text-align:left;"><section><span leaf="">1152</span></section></td></tr></tbody></table>### 案例实战:热带雨林检索
|
||||
|
||||
论文展示了以“热带雨林”为目标的检索案例,对比了不同查询模式下模型的表现差异。
|
||||
|
||||

|
||||
|
||||
图 3:不同模型与查询模式下的全球相似度分布图
|
||||
- **文本查询 (FarSLIP):精准捕捉“雨林”语义,高分匹配区集中在南美亚马逊、非洲刚果盆地和东南亚。**
|
||||
- **地理位置查询 (SatCLIP):展现了极强的地理先验,检索结果严格限制在赤道附近的热带雨林带。**
|
||||
- **图像查询 (DINOv2):更关注视觉特征。例如,若查询图像中包含河流,DINOv2 的前 5 个结果往往都带有明显的河流纹理,体现了其对视觉细节的敏感性。**
|
||||
|
||||

|
||||
|
||||
图 4:热带雨林案例下的 Top-5 检索结果切片
|
||||
### 总结与展望
|
||||
|
||||
EarthEmbeddingExplorer 成功弥合了学术论文与实际应用之间的鸿沟。它不仅为模型开发者提供了一个全球尺度的“压力测试”平台,也让地理科学研究者能够通过简单的文本或位置信息,快速定位并导出感兴趣的全球卫星影像。
|
||||
|
||||
未来,该项目计划进一步扩大空间与时间覆盖范围,并支持更多社区贡献的基础模型,推动地球观测领域的开放科学生态建设。
|
||||
|
||||
|
||||
|
||||
[让AI“读懂”12000+景SAR影像:开源SAR平台重大更新,接入大模型你也可以实现以文搜图](https://mp.weixin.qq.com/s?__biz=MzI2MDIyOTMyOA==&mid=2247488734&idx=1&sn=d045ef3e00551d2562e24413dab1bfe2&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[也说遥感共性产品,行业需要什么样的遥感产品?](https://mp.weixin.qq.com/s?__biz=MzI2MDIyOTMyOA==&mid=2247486926&idx=1&sn=66ad7dc53a491a5c9068e6b4684cbb03&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[看水利部水利遥感星座战略布局,机遇与挑战并存](http://mp.weixin.qq.com/s?__biz=MzI2MDIyOTMyOA==&mid=2247486470&idx=1&sn=8cac97764abc7e9245f86848dd08e2ca&chksm=ea6d9db9dd1a14af59370e49bcf8ee8e5ba2da77d1b5658589b68c6d649ff302627d446d071e&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[Umbra开源雷达影像下载工具开发实践](https://mp.weixin.qq.com/s?__biz=MzI2MDIyOTMyOA==&mid=2247486877&idx=1&sn=15bb7e1fa63a69c07bf78df5e668758a&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[NASA与微软联合推出“Earth Copilot”,“智能助手“或成为行业产品标配](http://mp.weixin.qq.com/s?__biz=MzI2MDIyOTMyOA==&mid=2247486590&idx=1&sn=869ed4f61721ebc13009dd121b105b90&chksm=ea6d9dc1dd1a14d7146f6faee440b3c3e6526d673c10f990d3f7d633b45350eec0f51aae7e4f&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
欢迎交流
|
||||
|
||||
笔者长期从事人工智能、遥感、大模型等业务
|
||||
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
# Nginx文件解析漏洞
|
||||
原创 建哥聊安全
|
||||
建哥聊安全 建哥聊安全 2026-04-13 02:34
|
||||
|
||||
# 免责声明:严格禁止对任何未授权系统/网络进行扫描、攻击或入侵。禁止制作/传播恶意程序,禁止参与任何网络犯罪。如擅自将本文实验技术用于非法用途,一切法律后果及责任由行为人独立承担,与作者无关。
|
||||
# Nginx文件解析漏洞
|
||||
## 实验目的
|
||||
|
||||
通过本实验,掌握
|
||||
Nginx文件解析漏洞的利用方法。
|
||||
## 实验环境
|
||||
|
||||
·
|
||||
操作机:
|
||||
Win10
|
||||
|
||||
用户名:
|
||||
Administrator
|
||||
|
||||
密码:
|
||||
Sangfor!7890
|
||||
|
||||
·
|
||||
靶机:
|
||||
Centos7.2下的Nginx
|
||||
|
||||
·
|
||||
实验地址:
|
||||
http://ip
|
||||
## 实验原理
|
||||
|
||||
文件上传使用白名单做限制,只能上传图片文件,导致脚本文件无法上传,上传图片马绕过白名单文件上传的验证,但是图片马又无法解析,利用
|
||||
Nginx文件解析漏洞的特点:任意文件名/任意文件名.php,从而解析脚本文件。
|
||||
## 实验步骤
|
||||
|
||||
1、登录操作机,访问http://ip
|
||||
|
||||

|
||||
|
||||
2、上传任意的文件,上传失败,发现为白名单验证。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
3、使用windows的画图创建任意的png图片文件。
|
||||
|
||||
4、使用Edit Plust编辑上一步中的png文件,在文件末尾加入代码
|
||||
|
||||
<?php phpinfo();?>
|
||||
|
||||

|
||||
|
||||
5、将.png文件上传。
|
||||
|
||||

|
||||
|
||||
6、上传成功,访问上传的.png文件,脚本没有解析。
|
||||
|
||||

|
||||
|
||||
7、利用Nginx文件解析漏洞访问:
|
||||
|
||||
http://ip/uploadfiles/4a47a0db6e60853dedfcfdf08a5ca249.png/.php,脚本文件成功解析
|
||||
|
||||

|
||||
|
||||
## 实验总结
|
||||
|
||||
掌握利用
|
||||
Nginx文件解析漏洞,绕过白名单限制,解析脚本文件。
|
||||
|
||||
往期精选文章:
|
||||
|
||||
[什么!!验证码就这样破解了?](https://mp.weixin.qq.com/s?__biz=MzYzOTAwMjY5NQ==&mid=2247485479&idx=1&sn=3b1c01122131017cdfa51e15db0a8ba5&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[这样改完,购物直接0元购?](https://mp.weixin.qq.com/s?__biz=MzYzOTAwMjY5NQ==&mid=2247485562&idx=1&sn=e1aec2b3ea7c4d3147582be02d9d6c6c&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[注意!中间件IIS是这个版本存在该漏洞](https://mp.weixin.qq.com/s?__biz=MzYzOTAwMjY5NQ==&mid=2247489903&idx=1&sn=57fb62c768e15e9fd9ea860952d8c3f8&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
[电脑中了勒索病毒?试试这个方法。](https://mp.weixin.qq.com/s?__biz=MzYzOTAwMjY5NQ==&mid=2247485031&idx=1&sn=0fa7d9c9c423d6f3f48e830fbb2a3d4e&scene=21#wechat_redirect)
|
||||
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
# TP-Link路由器一次曝出5个漏洞,家庭和小办公网关再次站上风口
|
||||
汇能云安全 2026-04-13 04:28
|
||||
|
||||

|
||||
|
||||
**4****月****13****日,星期一****,您好!中科汇能与您分享信息安全快讯:**
|
||||
|
||||

|
||||
|
||||
**01**
|
||||
|
||||
**GitHub Copilot也会“背刺”开发者,私有仓库代码和密钥可能被悄悄带走**
|
||||
|
||||
|
||||
一项近期再次受到关注的Copilot Chat漏洞研究显示,攻击者可以把恶意指令藏进GitHub不可见的Markdown评论语法中,借助Copilot审查PR时的读取权限,静默诱导其泄露私有仓库中的源码、API密钥和云端机密。报道指出,这一漏洞被命名为“CamoLeak”,编号为CVE-2025-59145,CVSS评分高达9.6。它最值得警惕的地方不在“AI答错了”,而在于
|
||||
**AI助手本身拥有开发者正常授予的访问权限,一旦被提示注入操纵,泄露的就不只是几行代码,而可能是整个仓库最敏感的内容。**
|
||||
对企业来说,这类事件意味着AI编程助手已经不能只按效率工具来管理,而必须纳入真正的供应链与权限治理体系。
|
||||
|
||||
|
||||
**02**
|
||||
|
||||
**CPU-Z和HWMonitor官网下载点被攻破,硬件工具也成了供应链入口**
|
||||
|
||||
|
||||
CPUID官网近期被曝遭入侵,研究人员发现,用户自4月初下载的HWMonitor 1.63和部分CPU-Z ZIP安装包,可能已经被替换为带毒版本。公开披露显示,这些投毒样本不仅会投放恶意DLL,还会通过内存执行方式规避部分杀毒检测,并与攻击者控制的基础设施建立连接。
|
||||
**此事的危险之处在于,CPU-Z和HWMonitor并不属于“冷门小工具”,而是装机、运维和硬件检测场景里使用极广的软件。**
|
||||
很多用户在下载这类工具时天然信任官网,警惕性远低于来路不明的安装包。一旦这种高信任入口被攻破,危害往往会在极短时间内扩大到大量终端。
|
||||
|
||||
|
||||
**03**
|
||||
|
||||
**TP-Link路由器一次曝出5个漏洞,家庭和小办公网关再次站上风口**
|
||||
|
||||
|
||||
最新披露显示,TP-Link Archer AX53 v1.0路由器存在5个不同安全缺陷,涉及OpenVPN、dnsmasq和tmpServer等核心模块,攻击者在特定条件下可借此拿下设备控制权。TP-Link官方也已针对多款Omada交换机发布输入校验相关安全公告,说明网络设备侧的漏洞修补仍处于高频态势。
|
||||
**路由器这类设备最容易被低估,因为它们往往长期在线、升级缓慢、默认面向整个局域网甚至公网,一旦被利用,后续不只是“网络变慢”或“断网”,而可能成为窃听流量、DNS篡改、横向渗透和持续驻留的跳板。**
|
||||
对家庭用户和中小企业来说,真正危险的往往不是不会上网,而是一直在用一台没人管、也没人补丁的边界设备。
|
||||
|
||||
|
||||
**04**
|
||||
|
||||
**Google正式推DeviceBoundSession Credentials,对抗Cookie盗窃**
|
||||
|
||||
|
||||
Google 4月9日宣布,Device Bound Session Credentials已面向Windows版Chrome 146进入公开可用阶段,后续还将扩展到macOS。
|
||||
**该机制的核心思路,是把会话凭证与具体设备绑定,从而抬高攻击者单纯窃取Cookie后直接接管账户的难度。**
|
||||
对企业和普通用户来说,这是浏览器层面对“会话劫持”问题的一次重要加固。
|
||||
|
||||
|
||||
**05**
|
||||
|
||||
**假插件已不满足“偷一次”,GlassWorm开始同时感染多款AI代码编辑器**
|
||||
|
||||
|
||||
研究人员发现,一个发布到OpenVSX市场中的伪装扩展正在传播GlassWorm恶意软件。与过去只盯住单一编辑器不同,这次攻击会利用本地原生二进制,在受害者机器上同时感染VS Code、Cursor、Windsurf等多款编辑器。公开分析还提到,
|
||||
**GlassWorm并不是新木马,它此前就曾通过npm包里的隐藏Unicode字符、伪Chrome扩展等方式传播,并具备远控、按键记录和会话窃取能力。**
|
||||
这个案例最值得开发者重视的地方是:AI开发热潮让编辑器生态快速膨胀,但插件、扩展和市场审核并没有同步变得更安全。今天被盯上的已经不只是代码仓库,而是“你写代码的整个环境”。
|
||||
|
||||
|
||||
**06**
|
||||
|
||||
**一个新木马把“隐身远控”和“密码窃取”拼到了一起,STX RAT开始冒头**
|
||||
|
||||
|
||||
STX RAT是近期被研究人员点名的新型远控木马。它最危险的能力不是普通远控,而是内置HVNC,也就是“隐藏远程桌面”机制。攻击者可以在受害者毫无察觉的情况下,开启一个看不见的桌面会话,在里面打开网站、输入账号、操作程序,整个过程不会像传统远程协助那样被用户肉眼发现。与此同时,它还会窃取FileZilla、WinSCP、Cyberduck等工具保存的凭证,并在传输前截图,方便攻击者判断被控主机价值。研究还提到,
|
||||
**该木马会检测虚拟机和分析环境,发现异常后直接退出,增加取证难度。**
|
||||
对企业而言,这类“会偷、会藏、还会远程操作”的木马,比单纯窃密器更难清理。
|
||||
|
||||
|
||||
**07**
|
||||
|
||||
**黑客开始把GitHub和GitLab当“免费木马托管站”,开发者信任正被反向利用**
|
||||
|
||||
|
||||
Cyber Security News 4月10日报道,攻击者正在利用GitHub和GitLab托管恶意软件和凭证钓鱼活动。问题的关键不只是“平台上有恶意文件”,而是这些平台本身被普遍视为可信开发基础设施,很多企业、浏览器和邮件系统对其链接默认放得更宽。
|
||||
**于是攻击者不再费力伪造陌生域名,而是直接借助开发者最熟悉的平台分发假仓库、带毒脚本和仿冒登录内容。**
|
||||
对普通用户来说,看见GitHub链接会天然放松警惕;对技术人员来说,更容易把带有README、提交记录和项目结构的页面当成正常资源。攻击者真正利用的,其实不是某个平台漏洞,而是“你相信这地方本来就该可信”。
|
||||
|
||||
|
||||
**08**
|
||||
|
||||
**勒索团伙不再只靠漏洞驱动,EDR Killer正在变成“开场白”**
|
||||
|
||||
|
||||
ESET最新观察显示,越来越多勒索组织正在扩大对EDR Killer工具的使用,而且不再局限于滥用已知存在缺陷的驱动程序。报道指出,
|
||||
**攻击者越来越倾向于先关掉安全产品,再运行加密载荷,因为这比不断重写免杀版勒索器更便宜、更稳定,也更容易获得一段“安静的作案窗口”。**
|
||||
这件事的真正含义是,现代勒索攻击的优先级已经发生变化:过去是先想办法把加密程序藏起来,现在是先把你的眼睛和报警器关掉。对企业来说,这意味着单纯盯着“有没有勒索样本”已经不够,必须把EDR自保护、内核级防篡改和安全产品异常关闭行为纳入更高优先级监测,否则很可能在真正加密开始前就已经输了。
|
||||
|
||||
|
||||
**09**
|
||||
|
||||
**BTS假票务网站开始跨国骗粉,追星流量也成了黑产靶场**
|
||||
|
||||
|
||||
攻击者正在借“BTS世界巡演门票”话题搭建跨国仿冒售票网站,对粉丝实施诈骗。与传统钓鱼不同,
|
||||
**这类站点并不总是直接弹出“账号异常”之类的警告,而是围绕演唱会抢票、限量名额、预售资格等高情绪场景设计话术,让用户主动输入支付和个人信息。**
|
||||
它的攻击面也不局限于某一个国家或地区,而是借助社交媒体和搜索热点迅速扩散。这类案例很适合做公众号,因为它提醒大家:网络安全早就不只是企业和IT人的事,任何高关注度的文化事件、明星活动和消费热点,都可能被黑产迅速包装成一场信息窃取或支付诈骗。
|
||||
|
||||
|
||||
10
|
||||
|
||||
**假Telegram中文语言包藏木马,Silver Fox继续拿“本地化工具”做文章**
|
||||
|
||||
|
||||
一场新的Silver Fox攻击活动近期被披露,攻击者把ValleyRAT藏进伪装成Telegram中文语言包安装程序的诱饵中,主要针对中文用户群体。此类攻击表面上只是“帮你把软件汉化”“给你一个更方便的安装包”,本质却是在利用用户对本地化工具、小插件和语言补丁的低防备心理。
|
||||
**很多人不会把语言包当成高风险入口,但对于攻击者来说,这恰恰是最容易成功的地方:它不需要解释太多权限申请,也不需要构造复杂社工,只要让你觉得这是个顺手的功能增强工具即可。**
|
||||
随着全球热门应用在中文场景里的非官方分发越来越多,这类“功能补丁型木马”很可能会继续增多。
|
||||
|
||||
|
||||

|
||||
|
||||
信息来源:人民网 国家计算机网络应急技术处理协调中心 国家信息安全漏洞库 今日头条 360威胁情报中心 中科汇能GT攻防实验室 安全牛 E安全 安全客 NOSEC安全讯息平台 火绒安全 亚信安全 奇安信威胁情报中心 MACFEESy mantec白帽汇安全研究院 安全帮 卡巴斯基 安全内参 安全学习那些事 安全圈 黑客新闻 蚁景网安实验室 IT之家IT资讯 黑客新闻国外 天际友盟
|
||||
|
||||

|
||||
|
||||
本文版权归原作者所有,如有侵权请联系我们及时删除
|
||||
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
# 【在野利用】Adobe Acrobat Reader 远程代码执行漏洞(CVE-2026-34621)安全风险通告
|
||||
奇安信 CERT 2026-04-13 04:17
|
||||
|
||||
●
|
||||
点击↑蓝字关注我们,获取更多安全风险通告
|
||||
|
||||
|
||||
<table><tbody><tr style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><td colspan="4" data-colwidth="136,157,166,98" valign="middle" align="center" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;background-color: rgb(70, 118, 217);visibility: visible;"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;line-height: 1.5em;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(255, 255, 255);letter-spacing: 0px;visibility: visible;"><strong style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 13px;letter-spacing: 0px;visibility: visible;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;">漏洞概述</span></span></strong></span></p></td></tr><tr style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><td data-colwidth="136" width="136" valign="middle" align="left" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;visibility: visible;"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;line-height: 1em;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 13px;letter-spacing: 0px;visibility: visible;"><strong style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0px;font-family: 微软雅黑, "Microsoft YaHei";visibility: visible;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;">漏洞名称</span></span></strong></span></p></td><td colspan="3" data-colwidth="157,166,98" valign="middle" align="left" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;visibility: visible;"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;line-height: 1em;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 13px;caret-color: red;letter-spacing: 0px;visibility: visible;"><span leaf="">Adobe Acrobat Reader 远程代码执行漏洞</span></span></p></td></tr><tr style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><td data-colwidth="136" width="136" valign="middle" align="left" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;visibiliLine truncated
|
||||
|
||||
|
||||
**0****1**
|
||||
|
||||
**漏洞详情**
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**影响组件**
|
||||
|
||||
Adobe Acrobat Reader 是全球主流的 PDF 文档阅读、编辑与交互处理软件,广泛部署于个人终端、企业办公、政务及金融等场景,支持 PDF 渲染、表单填写、JavaScript 交互、数字签名等核心功能,是跨平台文档处理的基础工具,用户群体覆盖个人与政企全场景,全球装机量极大。该软件内置 JavaScript 引擎以实现文档动态交互,通过沙箱机制限制脚本权限,保障本地系统安全。
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**漏洞描述**
|
||||
|
||||
近日,奇安信CERT监测到
|
||||
Adobe Acrobat Reader 远程代码执行漏洞(CVE-2026-34621)在野利用,该漏洞源于JavaScript 引擎未能正确控制对象原型属性的修改,攻击者可以利用该漏洞制作恶意的PDF文件,诱导受害者打开特制的文件,在当前用户的上下文中执行任意代码。可能导致数据泄露、系统损坏或其他恶意行为。
|
||||
目前该漏洞PoC和技术细节已公开。
|
||||
鉴于该漏洞已发现在野利用,建议客户尽快做好自查及防护。
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**利用条件**
|
||||
|
||||
用户交互。
|
||||
|
||||
|
||||
**02**
|
||||
|
||||
**影响范围**
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**影响版本**
|
||||
|
||||
Acrobat DC <= 26.001.21367
|
||||
Acrobat Reader DC <= 26.001.21367
|
||||
|
||||
Acrobat 2024 <= 24.001.30356
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**其他受影响组件**
|
||||
|
||||
无
|
||||
|
||||
|
||||
**03**
|
||||
|
||||
**复现情况**
|
||||
|
||||
目前,奇安信威胁情报中心安全研究员已成功复现
|
||||
Adobe Acrobat Reader 远程代码执行漏洞(CVE-2026-34621)
|
||||
,截图如下:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
**04**
|
||||
|
||||
**处置建议**
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**安全更新**
|
||||
|
||||
官方已发布安全补丁,用户可以通过选择“帮助”>“检查更新”来手动更新产品至最新版本:
|
||||
Acrobat DC >= 26.001.21411
|
||||
|
||||
Acrobat Reader DC >= 26.001.21411
|
||||
|
||||
Acrobat 2024(Windows)>= 24.001.30362
|
||||
|
||||
Acrobat 2024(Mac)>= 24.001.30360
|
||||
|
||||
建议启用自动更新:确保 Adobe Reader 的自动更新功能已开启,以便及时获取安全补丁。
|
||||
|
||||
|
||||
|
||||
**05**
|
||||
|
||||
**参考资料**
|
||||
|
||||
[1]https://helpx.adobe.com/security/products/acrobat/apsb26-43.html
|
||||
|
||||
|
||||
|
||||
**06**
|
||||
|
||||
**时间线**
|
||||
|
||||
2026年04月13日,奇安信 CERT发布安全风险通告。
|
||||
|
||||
|
||||
|
||||
**07**
|
||||
|
||||
**漏洞情报服务**
|
||||
|
||||
|
||||
奇安信ALPH
|
||||
A
|
||||
威胁分析平台已支持漏洞情报订阅服务:
|
||||
|
||||

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

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

|
||||
|
||||
**奇安信 CERT**
|
||||
|
||||
**致力于**
|
||||
第一时间为企业级用户提供**权威**
|
||||
漏洞情报和**有效**
|
||||
解决方案。
|
||||
|
||||
|
||||
|
||||
点击↓**阅读原文**
|
||||
,到**ALPHA威胁分析平台**
|
||||
订阅更多漏洞信息。
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
# 【已复现】Nginx ngx_http_dav_module 堆缓冲区溢出漏洞(CVE-2026-27654)安全风险通告
|
||||
奇安信 CERT 2026-04-13 04:17
|
||||
|
||||
●
|
||||
点击↑蓝字关注我们,获取更多安全风险通告
|
||||
|
||||
|
||||
<table><tbody><tr style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><td colspan="4" data-colwidth="136,157,166,98" valign="middle" align="center" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;background-color: rgb(70, 118, 217);visibility: visible;"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;line-height: 1.5em;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(255, 255, 255);letter-spacing: 0px;visibility: visible;"><strong style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 13px;letter-spacing: 0px;visibility: visible;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;">漏洞概述</span></span></strong></span></p></td></tr><tr style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><td data-colwidth="136" width="136" valign="middle" align="left" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;visibility: visible;"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;line-height: 1em;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 13px;letter-spacing: 0px;visibility: visible;"><strong style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0px;font-family: 微软雅黑, "Microsoft YaHei";visibility: visible;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;">漏洞名称</span></span></strong></span></p></td><td colspan="3" data-colwidth="157,166,98" valign="middle" align="left" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;visibility: visible;"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;line-height: 1em;visibility: visible;"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 13px;caret-color: red;letter-spacing: 0px;visibility: visible;"><span leaf="">Nginx ngx_http_dav_module 堆缓冲区溢出漏洞</span></span></p></td></tr><tr style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><td data-colwidth="136" width="136" valign="middle" align="left" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 5px 10px;outline: 0px;overflow-wrap: break-word !important;word-break: break-all;hyphens: auto;border: 1px solid rgb(70, 118, 217);max-width: 100%;box-sizing: border-box !important;visLine truncated
|
||||
|
||||
|
||||
**0****1**
|
||||
|
||||
**漏洞详情**
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**影响组件**
|
||||
|
||||
NGINX 是一款高性能、轻量级的开源 Web 服务器与反向代理服务,广泛用于静态资源托管、负载均衡、API 网关、缓存加速等场景,支持 HTTP/HTTPS、WebDAV、HTTP/3 等多种协议,具备高并发、低资源占用、模块化扩展等特性,是全球互联网主流的服务端基础软件,被政企、云厂商、互联网企业大量部署。其 ngx_http_dav_module 为 WebDAV 扩展模块,提供文件 COPY/MOVE/DELETE 等管理能力,常用于文件服务与协同场景。
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**漏洞描述**
|
||||
|
||||
近日,奇安信CERT监测到官方修复
|
||||
Nginx ngx_http_dav_module 堆缓冲区溢出漏洞(CVE-2026-27654),该漏洞源于处理 WebDAV 协议的 MOVE 或 COPY 方法时,ngx_http_map_uri_to_path 函数对 Destination 头部进行路径映射时出现无符号整数下溢,导致堆缓冲区溢出。该漏洞影响使用 dav_methods 启用 COPY 或 MOVE 方法、结合前缀 location(非正则表达式)和 alias 指令的配置场景。攻击者可利用该漏洞,通过构造特殊 HTTP 请求实现任意文件读写、部署 Webshell 并最终达成远程代码执行(RCE),或造成 NGINX worker 进程崩溃导致拒绝服务。
|
||||
目前该漏洞PoC和技术细节已公开。
|
||||
鉴于该漏洞aarch64架构上的利用脚本已公开,建议客户尽快做好自查及防护。
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**利用条件**
|
||||
|
||||
1.已编译并启用 ngx_http_dav_module 模块;
|
||||
|
||||
2.配置文件中使用 alias 指令定义位置块;
|
||||
|
||||
3.该位置块配置了 dav_methods COPY 或 dav_methods MOVE 指令;
|
||||
|
||||
4.该位置块必须使用前缀位置(非正则表达式)。
|
||||
|
||||
|
||||
**02**
|
||||
|
||||
**影响范围**
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**影响版本**
|
||||
|
||||
0.5.13 <= NGINX Open Source <= 0.9.7
|
||||
1.0.0 <= NGINX Open Source < 1.28.3
|
||||
|
||||
1.29.0 <= NGINX Open Source < 1.29.7
|
||||
|
||||
R32 <= NGINX Plus < R32 P5
|
||||
|
||||
NGINX Plus R33 所有版本
|
||||
|
||||
NGINX Plus R34 所有版本
|
||||
|
||||
R35 <= NGINX Plus < R35 P2
|
||||
|
||||
R36 <= NGINX Plus < R36 P3
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**其他受影响组件**
|
||||
|
||||
无
|
||||
|
||||
|
||||
**03**
|
||||
|
||||
**复现情况**
|
||||
|
||||
目前,奇安信威胁情报中心安全研究员已成功复现
|
||||
Nginx ngx_http_dav_module 堆缓冲区溢出漏洞(CVE-2026-27654)
|
||||
,截图如下:
|
||||
|
||||

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

|
||||
|
||||
|
||||
|
||||
**04**
|
||||
|
||||
**处置建议**
|
||||
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
**>**
|
||||
|
||||
**安全更新**
|
||||
|
||||
官方已发布安全补丁,请及时更新至最新版本:
|
||||
NGINX Open Source 1.* >= 1.28.3
|
||||
|
||||
NGINX Open Source 1.29 .* >= 1.29.7
|
||||
|
||||
NGINX Plus R32 >= R32 P5
|
||||
|
||||
NGINX Plus R35 >= R35 P2
|
||||
|
||||
NGINX Plus R36 >= R36 P3
|
||||
|
||||
下载地址:
|
||||
|
||||
https://my.f5.com/manage/s/article/K000160382
|
||||
|
||||
修复缓解措施:
|
||||
|
||||
1.若业务无需 WebDAV,立即移除 dav_methods 指令或完全禁用 ngx_http_dav_module 模块(推荐 dav_methods PUT DELETE MKCOL;)。
|
||||
|
||||
2.临时将 alias 指令替换为 root 指令,或避免 alias 与 DAV 方法组合使用。
|
||||
|
||||
|
||||
|
||||
**05**
|
||||
|
||||
**参考资料**
|
||||
|
||||
[1]https://my.f5.com/manage/s/article/K000160382
|
||||
|
||||
|
||||
|
||||
**06**
|
||||
|
||||
**时间线**
|
||||
|
||||
2026年04月13日,奇安信 CERT发布安全风险通告。
|
||||
|
||||
|
||||
|
||||
**07**
|
||||
|
||||
**漏洞情报服务**
|
||||
|
||||
|
||||
奇安信ALPH
|
||||
A
|
||||
威胁分析平台已支持漏洞情报订阅服务:
|
||||
|
||||

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

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

|
||||
|
||||
**奇安信 CERT**
|
||||
|
||||
**致力于**
|
||||
第一时间为企业级用户提供**权威**
|
||||
漏洞情报和**有效**
|
||||
解决方案。
|
||||
|
||||
|
||||
|
||||
点击↓**阅读原文**
|
||||
,到**ALPHA威胁分析平台**
|
||||
订阅更多漏洞信息。
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
# 【自研工具】Zack-AI-Scanner AI智能Web漏洞扫描BurpSuite插件
|
||||
原创 ZackSecurity
|
||||
ZackSecurity ZackSecurity 2026-04-13 03:22
|
||||
|
||||
# 项目概述
|
||||
|
||||
Zack-AI-Scanner 是一款基于大语言模型的自动化 Web 漏洞扫描工具,作为 Burp Suite 扩展运行。通过 AI 深度学习技术自动分析 HTTP 请求特征,智能识别潜在安全漏洞,动态生成针对性测试Payload,并智能验证漏洞真实性。
|
||||
## 核心功能
|
||||
- AI 智能扫描
|
||||
: 内置 Skills 利用 LLM 自动分析请求并制定测试策略
|
||||
|
||||
- 多漏洞类型支持
|
||||
: 支持 17 种常见 Web 漏洞类型的检测
|
||||
|
||||
- WAF 绕过能力
|
||||
: 内置 Prompt 多种 WAF 绕过技术,50% 载荷为绕过载荷
|
||||
|
||||
- 实时结果验证
|
||||
: AI 二次验证确保漏洞真实性(置信度阈值 ≥90%)
|
||||
|
||||
- 多格式报告导出
|
||||
: 支持 HTML 和 Markdown 格式的渗透测试报告
|
||||
|
||||
## 技术栈
|
||||
<table><thead><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">组件</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">技术选型</span></span></p></td></tr></thead><tbody><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">开发语言</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">Java 17</span></span></p></td></tr><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">构建工具</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">Maven (maven-shade-plugin)</span></span></p></td></tr><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">扩展框架</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">Burp Extender API 2.3</span></span></p></td></tr><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">JSON 处理</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;Line truncated
|
||||
<table><thead><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">漏洞类型</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">说明</span></span></p></td></tr></thead><tbody><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">SQL_INJECTION</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">SQL 注入</span></span></p></td></tr><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">XSS</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">跨站脚本攻击</span></span></p></td></tr><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">COMMAND_INJECTION</span></span><o:page></o:page></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">命令注入</span></span></p></td></tr><tr><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 16px;">FILE_UPLOAD</span></span></p></td><td data-colwidth="264" width="264" valign="top"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:"mp-quote", "PingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;Line truncated
|
||||
- OpenAI (GPT-4, GPT-3.5)
|
||||
|
||||
- Anthropic (Claude)
|
||||
|
||||
- Google Gemini
|
||||
|
||||
- Azure OpenAI
|
||||
|
||||
- 通义千问 (阿里云)
|
||||
|
||||
- 文心一言 (百度)
|
||||
|
||||
- 智谱 AI (GLM)
|
||||
|
||||
- Kimi (月之暗面)
|
||||
|
||||
- DeepSeek
|
||||
|
||||
- 讯飞星火
|
||||
|
||||
- 字节豆包
|
||||
|
||||
- 腾讯混元
|
||||
|
||||
- 百川智能
|
||||
|
||||
- MiniMax
|
||||
|
||||
- 零一万物
|
||||
|
||||
- 阶跃星辰
|
||||
|
||||
## 快速开始
|
||||
### 安装
|
||||
|
||||
1.
|
||||
构建项目:
|
||||
mvn clean package
|
||||
|
||||
2.
|
||||
在 Burp Suite 的 Extender 标签页加载生成的 JAR 文件
|
||||
### 配置
|
||||
|
||||
1.
|
||||
点击 “配置” 按钮打开配置中心
|
||||
|
||||
2.
|
||||
选择 AI 服务提供商并输入 API Key
|
||||
|
||||
3.
|
||||
点击 “获取模型” 按钮获取可用模型列表
|
||||
|
||||
4.
|
||||
保存配置后即可开始使用
|
||||
### 使用
|
||||
|
||||
1.
|
||||
在 Burp Suite 的 Proxy 或其他模块中选择 HTTP 请求
|
||||
|
||||
2.
|
||||
右键点击,选择 “Zack-AI-Scanner” 菜单
|
||||
|
||||
3.
|
||||
选择扫描模式(AI 智能扫描或特定漏洞类型)
|
||||
|
||||
4.
|
||||
在主面板查看扫描进度和结果
|
||||
|
||||
5.
|
||||
导出漏洞报告
|
||||
## 目录结构
|
||||
|
||||
src/main/java/com/zackai/
|
||||
|
||||
├── AISentryExtender.java
|
||||
|
||||
# Burp 扩展主入口
|
||||
|
||||
├── core/
|
||||
|
||||
# 核心功能模块
|
||||
|
||||
│
|
||||
|
||||
├── AIEngine.java
|
||||
|
||||
# AI 扫描引擎
|
||||
|
||||
│
|
||||
|
||||
└── ConfigManager.java
|
||||
|
||||
# 配置管理器(单例)
|
||||
|
||||
├── model/
|
||||
|
||||
# 数据模型
|
||||
|
||||
│
|
||||
|
||||
├── ScanTask.java
|
||||
|
||||
# 扫描任务模型
|
||||
|
||||
│
|
||||
|
||||
├── VulnResult.java
|
||||
|
||||
# 漏洞结果模型
|
||||
|
||||
│
|
||||
|
||||
└── AIProvider.java
|
||||
|
||||
# AI 服务提供商模型
|
||||
|
||||
├── ui/
|
||||
|
||||
# UI 组件
|
||||
|
||||
│
|
||||
|
||||
├── MainPanel.java
|
||||
|
||||
# 主面板
|
||||
|
||||
│
|
||||
|
||||
├── TaskTablePanel.java
|
||||
# 任务表格
|
||||
|
||||
│
|
||||
|
||||
├── TaskDetailPanel.java # 任务详情
|
||||
|
||||
│
|
||||
|
||||
├── LogPanel.java
|
||||
|
||||
# 日志面板
|
||||
|
||||
│
|
||||
|
||||
├── ConfigDialog.java
|
||||
|
||||
# 配置对话框
|
||||
|
||||
│
|
||||
|
||||
├── ExportDialog.java
|
||||
|
||||
# 导出对话框
|
||||
|
||||
│
|
||||
|
||||
├── EndpointManagerDialog.java
|
||||
# 端点管理
|
||||
|
||||
│
|
||||
|
||||
├── PromptPanel.java
|
||||
|
||||
# 提示词管理
|
||||
|
||||
│
|
||||
|
||||
└── HelpPanel.java
|
||||
|
||||
# 帮助面板
|
||||
|
||||
└── util/
|
||||
|
||||
# 工具类
|
||||
|
||||
|
||||
└── ReportGenerator.java # 报告生成器
|
||||
## 插件使用实例
|
||||
|
||||
配置大模型API Key信息:
|
||||
|
||||

|
||||
|
||||
右击请求包->拓展->Zack-AI-Scanner调用工具,可选择AI智能扫描和单漏洞扫描:
|
||||
|
||||

|
||||
|
||||
日志统计窗口可实时查看扫描信息:
|
||||
|
||||

|
||||
|
||||
请求与响应详情窗口可以查看实时的扫描流量:
|
||||
|
||||

|
||||
|
||||
在任务列表窗口可以查看所有扫描任务和状态,扫描结束导出漏洞报告,支持 HTML 和 Markdown 格式:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
HTML 和 Markdown 格式报告内容:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
工具下载
|
||||
|
||||
Github下载地址:
|
||||
https://github.com/ZackSecurity/Zack-AI-Scanner
|
||||
|
||||
免责声明
|
||||
|
||||
本
|
||||
工具仅供教育和授权测试使用!旨在帮助安全研究人员、渗透测试人员和IT专业人员在
|
||||
获得明确授权
|
||||
的情况下进行安全评估和漏洞研究。
|
||||
|
||||
使用本工具即表示您同意:
|
||||
- 仅在您拥有明确书面授权的系统上使用此工具
|
||||
|
||||
- 遵守所有适用的法律法规和道德准则
|
||||
|
||||
- 对任何未经授权的使用或滥用行为承担全部责任
|
||||
|
||||
- 不会将本工具用于任何非法或恶意目的
|
||||
|
||||
开发者不对任何滥用行为负责!
|
||||
请确保您的使用符合当地法律法规,并获得目标系统所有者的明确授权。
|
||||
|
||||
本项目基于 GNU General Public License v3.0 (GPL v3) 许可证开源。 您可以在遵守 GPL v3 条款的前提下
|
||||
,自由使用、修改、复制或分发本项目的代码(禁止商业用途),但任何修改后的版本或衍生作品也必须同样以 GPL v3 许可证开源,并附上完整的源代码和版权声明。
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,620 @@
|
||||
# 文件上传漏洞总结
|
||||
web安全小白
|
||||
web安全小白 web安全小白 2026-04-13 03:26
|
||||
|
||||
**点击上方蓝字关注我们**
|
||||
|
||||
目前微信公众号调整了推送机制,如果你不希望错过更新内容建议把**web安全小白**“**设为星标**”,否则之后可能会收不到我的推送,错过一些重要的安全知识、实战技巧和最新漏洞信息。
|
||||
|
||||

|
||||
## 1. 描述
|
||||
|
||||
文件上传漏洞是指由于程序未对上传的文件进行严格的验证和过滤,而导致的用户向服务器上传可执行的动态脚本文件。常见的头像上传,图片上传,oa 办公文件上传,媒体上传,都允许用户上传文件,如果过滤不严格,用户恶意利用文件上传漏洞,上传有害的且可以执行脚本文件到服务器中,便可利用上传的恶意文件控制整个网站,甚至是控制服务器,这个恶意脚本文件,又被称为 webshell,上传 webshell 后门可以很方便地查看服务器信息,查看目录,执行系统命令等。
|
||||
## 2. 文件上传相关知识
|
||||
### 2.1 文件上传过程
|
||||
|
||||
**客户端选择发送的文件->服务器接收->网站程序判断->临时文件->移动到指定的路径**
|
||||
|
||||
**文件上传时会返回一些代码给客户端,客户端根据这些值判断上传是否正常**
|
||||
|
||||
<table><thead><tr><th style="color: rgb(89, 89, 89);font-size: 14px;line-height: 1.5em;letter-spacing: 0.02em;font-weight: bold;background: rgb(240, 240, 240) left top no-repeat;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;text-align: center;"><strong style="color: rgb(53, 148, 247);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;"><font style="color:rgb(51, 51, 51);"><span leaf="">值</span></font></strong></th><th style="color: rgb(89, 89, 89);font-size: 14px;line-height: 1.5em;letter-spacing: 0.02em;font-weight: bold;background: rgb(240, 240, 240) left top no-repeat;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;text-align: center;"><strong style="color: rgb(53, 148, 247);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;"><font style="color:rgb(51, 51, 51);"><span leaf="">含义</span></font></strong></th></tr></thead><tbody><tr style="color: rgb(89, 89, 89);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;text-align: center;"><font style="color:rgb(51, 51, 51);"><span leaf="">0</span></font></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;text-align: center;"><font style="color:rgb(51, 51, 51);"><span leaf="">没有错误发生,文件上传成功</span></font></td></tr><tr style="color: rgb(89, 89, 89);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-right-styleLine truncated
|
||||
|
||||
**文件上传漏洞**
|
||||
|
||||
文件上传漏洞分为 直接文件上传,这种漏洞类型是属于高危漏洞的一种,能直接getshell,而且没有任何限制,攻击者很容易通过上传点,获取网站的控制权限,另外一种是有条件的上传漏洞,这种漏洞一般是开发者经验不足,对文件上传做了简单的限制,如简单的前端认证,文件头文件检测,这种检测行为,可以完全绕过的,另外一个方面就是权限认证没处理,没有对文件上传页面进行权限认证,匿名者就能访问上传文件,上传网页后门到网站目录,控制整个网站,还有一些上传逻辑有问题,导致文件上传可以被绕过,上传后门到网站上。有的文件上传漏洞则是通过中间件或者系统特性上传可以被服务器解析脚本文件,从而
|
||||
|
||||
导致网站可被控制。
|
||||
|
||||
**文件上传漏洞的修复方案**
|
||||
1. 在网站中需要存在上传模块,需要做好权限认证,不能让匿名用户可访问。
|
||||
|
||||
1. 文件上传目录设置为禁止脚本文件执行。这样设置即使被上传后门的动态脚本也不能解析,导致攻击者放弃这个攻击途径。
|
||||
|
||||
1. 设置上传白名单,白名单只允许图片上传如,jpg png gif 其他文件均不允许上传
|
||||
|
||||
## 3. 文件上传测试思路
|
||||
|
||||
寻找测试网站的文件上传的模块,常见 头像上传,修改上传,文件编辑器中文件上传,图片上传、媒体上传等,通过抓包上传恶意的文件进行测试,上传后缀名 asp php aspx 等的动态语言脚本,查看上传时的返回信息,判断是否能直接上传,如果不能直接上传,再进行测试上传突破,例如上传文件的时候只允许图片格式的后缀,但是修改文件时,却没有限制后缀名,图片文件可以修改成动态语言格式如 php,则可能访问这个文件的 URL 直接getshell,控制网站。
|
||||
## 4. 常见的网站文件后缀名
|
||||
```
|
||||
asp
|
||||
asa
|
||||
cdx
|
||||
cer
|
||||
php
|
||||
aspx
|
||||
ashx
|
||||
jsp
|
||||
php3
|
||||
php.a
|
||||
shtml
|
||||
phtml
|
||||
|
||||
```
|
||||
## 5. 文件上传漏洞示例
|
||||
### 5.1 任意文件上传漏洞
|
||||
|
||||
DVWA练习靶场LOW模式下的FileuPload就是任意文件上传漏洞
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
以上代码中不存在任何对上传文件的限制,那么可以随意上传恶意文件,以下用包含 php 语句中的phpinfo() 函数的文件示例:
|
||||
```
|
||||
<?php
|
||||
phpinfo();
|
||||
?>
|
||||
#将包含以上文件的语句命名为0.php
|
||||
|
||||
```
|
||||
|
||||
**文件上传**
|
||||
|
||||
文件已上传成功
|
||||
|
||||

|
||||
|
||||
访问上传的文件,如果此文件为webshell,那么通过webshell进行提权,便可控制整个服务器。
|
||||
|
||||

|
||||
### 5.2 绕过前端JS验证上传
|
||||
|
||||
以下练习环境均为upload-labs
|
||||
|
||||
**Pass-1 前端JS验证代码分析**
|
||||
|
||||

|
||||
|
||||
CheckFile()函数内容
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
1. 在前端删除 onsubmit="return checkFile() 语句,使验证函数失效,
|
||||
|
||||
1. 也可以修改 checkFile() 函数添加要上传的文件类型
|
||||
|
||||
1. 更改文件后缀,在通过抓包的方式修改后缀名
|
||||
|
||||
**抓包修改后缀的方法**
|
||||
|
||||

|
||||
### 5.3 绕过 contnet-type 检测上传
|
||||
|
||||
有些上传模块,会对 http 的类型头进行检测,如果是图片类型,允许上传文件到服务器,否则返回上传失败。因为服务端是通过 content-type 判断类型,content-type 在客户端可被修改。则此文件上传也有可能被绕过的风险。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
抓包之后修改content-type
|
||||
|
||||

|
||||
### 5.4 绕过黑名单上传
|
||||
|
||||
上传模块,有时候会写成黑名单限制,在上传文件的时获取后缀名,再把后缀名与程序中黑名单进行检测,如果后缀名在黑名单的列表内,文件将禁止文件上传。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
上传图片时,如果提示不允许 php、asp 这种信息提示,可判断为黑名单限制,上传黑名单以外的后缀名即可。
|
||||
|
||||
在 iis 里 asp 禁止上传了,可以上传 asa cer cdx 这些后缀,如在网站里允许.net执行 可以上传 ashx 代替 aspx。如果网站可以执行这些脚本,通过上传后门即可获取 webshell。
|
||||
|
||||
在不同的中间件中有特殊的情况,如果 apache 开启 application/x-httpd-php 选项,那么在配置文件中可能有以下选项存在:
|
||||
|
||||
AddType application/x-httpd-php .php .phtml .php3
|
||||
|
||||
AddType application/x-httpd-php 后面的所有类型文件均被解析成 php ,此选项有的 apache 版本默认开启。
|
||||
|
||||
此次示例上传目标中间件就开启了application/x-httpd-php ,那么上传 .phtml、.php3 文件即可绕过限制
|
||||
### 5.5 . htaccess 重写解析绕过上传
|
||||
|
||||
上传模块,黑名单过滤了所有的能执行的后缀名,如果允许上传.htaccess。htaccess文件的作用是 可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定 IP 地址的用户、只允许特定 IP 地址的用户、禁止目录列表,以及使用其他文件作为 index 文件等一些功能。
|
||||
|
||||
在 htaccess 里写入 SetHandler application/x-httpd-php 则可以文件重写成 php 文件。要 htaccess 的规则生效 则需要在 apache 开启 rewrite 重写模块,因为 apache是多数都开启这个模块,所以规则一般都生效。
|
||||
|
||||
**代码分析**
|
||||
|
||||
黑名单内如下,几乎包含了所有的常见后缀,但其中并不包含 .htaccess 文件
|
||||
```
|
||||
$deny_ext = array(".php",".php5",".php4",".php3",".php2","php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2","pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf")
|
||||
|
||||
```
|
||||
|
||||
**htaccess 重写解析攻击代码**
|
||||
```
|
||||
<FilesMatch ".jpg">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
|
||||
```
|
||||
|
||||
**绕过方法**
|
||||
|
||||
分别上传 .htaccess 和 .jpg 文件,当访问 .jpg 文件时, .jpg 文件会被解析成php文件。
|
||||
### 5.6 大小写绕过上传
|
||||
|
||||
有的上传模块 后缀名采用黑名单判断,但是没有对后缀名的大小写进行严格判断,导致可以更改后缀大小写可以被绕过。如 PHP、 Php、 phP、pHp
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
```
|
||||
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess");
|
||||
|
||||
```
|
||||
|
||||
黑名单中没有 .PHP .Php .pHP 等,那么可以上传中没有以及可以被中间件解析的文件。
|
||||
|
||||
手动测试太慢,可以常使用使用脚本自动爆破
|
||||
### 5.7 空格绕过上传
|
||||
|
||||
在上传模块里,采用黑名单上传,如果没有对空格进行去掉可能被绕过。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
抓包处理,然后在文件名后面添加空格
|
||||
|
||||

|
||||
### 5.8 利用 windows 系统特征绕过上传
|
||||
|
||||
在 windows 中文件后缀名. 系统会自动忽略.所以 shell.php. 像 shell.php 的效果一样。所以可以在文件名后面机上.绕过。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||

|
||||
### 5.9 NTFS 交换数据流::$DATA 绕过上传
|
||||
|
||||
如果后缀名没有对::$DATA 进行判断,利用 windows 系统 NTFS 特征可以绕过上传。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||

|
||||
### 5.10 利用 windows 环境的叠加特征绕过上传
|
||||
|
||||
在 windwos 中如果上传文件名 8.php:.jpg 的时候,会在目录下生产空白的文件名 8.php
|
||||
|
||||
再利用 php 和 windows 环境的叠加属性,向 8.php 中写入内容
|
||||
|
||||
以下符号在正则匹配时相等
|
||||
|
||||
双引号" 等于 点号.
|
||||
|
||||
大于符号> 等于 问号?
|
||||
|
||||
小于符号< 等于 星号*
|
||||
|
||||
**代码审计**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||

|
||||
|
||||

|
||||
### 5.11 双写后缀名绕过上传
|
||||
|
||||
在上传模块,有的代码会把黑名单的后缀名替换成空,例如 a.php 会把 php 替换成空,但是可以使用双写绕过例如 asaspp,pphphp,即可绕过上传。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||

|
||||
### 5.12 目录可控绕过上传
|
||||
|
||||
以上都是一些黑名单被绕过的,如果黑名单上传检测后,没有限定后缀名,绕过的方法很多,与黑名单相对的就是白名单,使用白名单验证会相对比较安全,因为只允许指定的文件后缀名。但是如果有可控的参数目录,也存在被绕过的风险。
|
||||
#### 5.12.1 GET请求利用00截断绕过上传
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
此种方法的具象性:
|
||||
1. 当GPC开启时,%00会被转译,起不到截断的效果
|
||||
|
||||
1. PHP的版本要小于 5.3.4
|
||||
|
||||

|
||||
#### 5.12.2 POST请求利用00截断绕过上传
|
||||
|
||||
上面是 GET 请求的,可以直接在 url 输入%00 即可截断,但是在 post 下直接注入%00 是不行的,需要把%00 解码变成空白符,截断才有效。才能把目录截断成文件名
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||

|
||||
|
||||
编码方法
|
||||
|
||||

|
||||
### 5.13 文件头检测绕过上传
|
||||
|
||||
有的文件上传,上传时候会检测头文件,不同的文件,头文件也不尽相同。常见的文件上传图片头检测 它检测图片是两个字节的长度,如果不是图片的格式,会禁止上传。
|
||||
|
||||
常见的文件头
|
||||
|
||||
JPEG (jpg),文件头:FFD8FF
|
||||
|
||||
PNG (png),文件头:89504E47
|
||||
|
||||
GIF (gif),文件头:47494638
|
||||
|
||||
TIFF (tif),文件头:49492A00
|
||||
|
||||
Windows Bitmap (bmp),文件头:424D
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
图片马的运行以来文件包含漏洞,只要上传的图片代码中包含完整的php语句即可
|
||||
1. 使用 copy 13.png/b+13.php 13.jpg 制作出图片马
|
||||
|
||||
1. 上传图片马,并使用文件包含漏洞运行图片马
|
||||
|
||||

|
||||
### 5.14 图片检测绕过上传
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
和上面一样使用图片马,在用文件包含漏洞运行图片马即可,此处不在演示
|
||||
### 5.15 二次渲染绕过上传
|
||||
|
||||
有些图片上传,会对上传的图片进行二次渲染后在保存,体积可能会更小,图片会模糊一些,但是符合网站的需求。例如新闻图片封面等可能需要二次渲染,因为原图片占用的体积更大。访问的人数太多时候会占用,很大带宽。二次渲染后的图片内容会减少,如果里面包含后门代码,可能会被省略。导致上传的图片马,恶意代码被清除。
|
||||
|
||||
**代码分析**
|
||||
```
|
||||
$is_upload = false;
|
||||
$msg = null;
|
||||
if (isset($_POST['submit'])){
|
||||
// 获得上传文件的基本信息,文件名,类型,大小,临时文件路径
|
||||
$filename = $_FILES['upload_file']['name'];
|
||||
$filetype = $_FILES['upload_file']['type'];
|
||||
$tmpname = $_FILES['upload_file']['tmp_name'];
|
||||
|
||||
$target_path=UPLOAD_PATH.'/'.basename($filename);
|
||||
|
||||
// 获得上传文件的扩展名
|
||||
$fileext= substr(strrchr($filename,"."),1);
|
||||
|
||||
//判断文件后缀与类型,合法才进行上传操作
|
||||
if(($fileext == "jpg") && ($filetype=="image/jpeg")){
|
||||
if(move_uploaded_file($tmpname,$target_path)){
|
||||
//使用上传的图片生成新的图片
|
||||
$im = imagecreatefromjpeg($target_path);
|
||||
|
||||
if($im == false){
|
||||
$msg = "该文件不是jpg格式的图片!";
|
||||
@unlink($target_path);
|
||||
}else{
|
||||
//给新图片指定文件名
|
||||
srand(time());
|
||||
$newfilename = strval(rand()).".jpg";
|
||||
//显示二次渲染后的图片(使用用户上传图片生成的新图片)
|
||||
$img_path = UPLOAD_PATH.'/'.$newfilename;
|
||||
imagejpeg($im,$img_path);
|
||||
@unlink($target_path);
|
||||
$is_upload = true;
|
||||
}
|
||||
} else {
|
||||
$msg = "上传出错!";
|
||||
}
|
||||
|
||||
}else if(($fileext == "png") && ($filetype=="image/png")){
|
||||
if(move_uploaded_file($tmpname,$target_path)){
|
||||
//使用上传的图片生成新的图片
|
||||
$im = imagecreatefrompng($target_path);
|
||||
|
||||
if($im == false){
|
||||
$msg = "该文件不是png格式的图片!";
|
||||
@unlink($target_path);
|
||||
}else{
|
||||
//给新图片指定文件名
|
||||
srand(time());
|
||||
$newfilename = strval(rand()).".png";
|
||||
//显示二次渲染后的图片(使用用户上传图片生成的新图片)
|
||||
$img_path = UPLOAD_PATH.'/'.$newfilename;
|
||||
imagepng($im,$img_path);
|
||||
|
||||
@unlink($target_path);
|
||||
$is_upload = true;
|
||||
}
|
||||
} else {
|
||||
$msg = "上传出错!";
|
||||
}
|
||||
|
||||
}else if(($fileext == "gif") && ($filetype=="image/gif")){
|
||||
if(move_uploaded_file($tmpname,$target_path)){
|
||||
//使用上传的图片生成新的图片
|
||||
$im = imagecreatefromgif($target_path);
|
||||
if($im == false){
|
||||
$msg = "该文件不是gif格式的图片!";
|
||||
@unlink($target_path);
|
||||
}else{
|
||||
//给新图片指定文件名
|
||||
srand(time());
|
||||
$newfilename = strval(rand()).".gif";
|
||||
//显示二次渲染后的图片(使用用户上传图片生成的新图片)
|
||||
$img_path = UPLOAD_PATH.'/'.$newfilename;
|
||||
imagegif($im,$img_path);
|
||||
|
||||
@unlink($target_path);
|
||||
$is_upload = true;
|
||||
}
|
||||
} else {
|
||||
$msg = "上传出错!";
|
||||
}
|
||||
}else{
|
||||
$msg = "只允许上传后缀为.jpg|.png|.gif的图片文件!";
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
**绕过方法**
|
||||
1. 首先判断图片是否允许上传 gif,gif 图片在二次渲染后,与原图片差别不会太大。所以二次渲染攻击最好用 git 图片马,png和jpg用起来比较繁琐
|
||||
|
||||
1. 制作图片马
|
||||
|
||||
1. 将原图片上传,下载渲染后的图片进行对比,找相同处,覆盖字符串,填写一句话后门,或者恶意指令。
|
||||
|
||||

|
||||
|
||||
经过对比渲染前与选然后的图片在16进制下,红框位置代码没有变化,于是在红框处填写语句,再次上传后的图片在16进制下包含了语句
|
||||
|
||||

|
||||
### 5.16 文件上传条件竞争漏洞绕过
|
||||
|
||||
在文件上传时,如果逻辑不对,会造成很大危害,例如文件上传时,用move_uploaded_file 把上传的临时文件移动到指定目录,接着再用 rename 文件设置为图片格式,如果在 rename 之前访问到这个文件,那我们就可以获取一个 webshell。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
1. 先确定文件存储位置
|
||||
|
||||
1. 然后利用 burpsuite 不停的上传的文件
|
||||
|
||||
1. 访问上传的文件
|
||||
|
||||
**详细步骤**
|
||||
|
||||
抓包提交数据包,发送到Intruder模块,并添a=,并设置较大线程数,在第二部开始爆破后,运行爆破
|
||||
|
||||

|
||||
|
||||
抓取访问数据包,发送到Intruder模块,并添a=,并设置较大线程数,开始爆破
|
||||
|
||||

|
||||
|
||||
结果出现了
|
||||
|
||||

|
||||
### 5.17 文件名可控绕过上传
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
***绕过方法**
|
||||
|
||||
绕过方法主要有两种
|
||||
- 用%00 截断,例如将文件命名为 1.php%00.php 在服务器截断后 1.php或者使用 /. 进行截断
|
||||
|
||||
- 与中间件的漏洞配合使用 例如
|
||||
|
||||
<table><thead><tr><th style="color: rgb(89, 89, 89);font-size: 14px;line-height: 1.5em;letter-spacing: 0.02em;font-weight: bold;background: rgb(240, 240, 240) left top no-repeat;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;text-align: center;"><strong style="color: rgb(53, 148, 247);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;"><font style="color:rgb(51, 51, 51);"><span leaf="">中间件</span></font></strong></th><th style="color: rgb(89, 89, 89);font-size: 14px;line-height: 1.5em;letter-spacing: 0.02em;font-weight: bold;background: rgb(240, 240, 240) left top no-repeat;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;text-align: center;"><strong style="color: rgb(53, 148, 247);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;"><font style="color:rgb(51, 51, 51);"><span leaf="">上传前</span></font></strong></th><th style="color: rgb(89, 89, 89);font-size: 14px;line-height: 1.5em;letter-spacing: 0.02em;font-weight: bold;background: rgb(240, 240, 240) left top no-repeat;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;text-align: center;"><strong style="color: rgb(53, 148, 247);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;"><font style="color:rgb(51, 51, 51);"><span leaf="">解析后</span></font></strong></th></tr></thead><tbody><tr style="color: rgb(89, 89, 89);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: 0pxLine truncated
|
||||
|
||||
本案例上传 .php.a 即可
|
||||
### 5.18 数组绕过上传
|
||||
|
||||
有的文件上传,如果支持数组上传或者数组命名。如果逻辑写的有问题会造成安全隐患,导致不可预期的上传。这种漏洞在白盒审计中发现的居多。
|
||||
|
||||
**代码分析**
|
||||
|
||||

|
||||
|
||||
**绕过方法**
|
||||
|
||||
利用数组元素拼接命名文件时,取的数组最后一个元素,假如上传一个三个元素的数组,并将中间一个元素置为空,那么数组统计的长度依然为2,$file[count($file) - 1 取到的就是第二个空元素,此时程序保存的文件名将不存在图片格式的后缀
|
||||
|
||||

|
||||
|
||||

|
||||
### 5.19 文件上传其他漏洞
|
||||
|
||||
Nginx 0.83 会将 1.jpg%00php 解析成 1.php
|
||||
|
||||
在apache 1.X 和 2.X 版本中,apache遇见不认识的后缀名,会从后向前解析,知道遇见apache认识的后缀名,例如 1.php.rar ,apache并不认识 rar ,那么会将 1.php.rar 解析成 rar.php
|
||||
|
||||
phpcgi漏洞 (在nginx 和IIS7及以上版本),例子:上传1.jpg,那么访问 1.jpg/1.php,会将 1.jpg 解析成 1.php
|
||||
|
||||
Apache Httpd 换行解析漏洞(CVE-2017-15715), apache通过mod_php来运行脚本,其中2.4.0-2.4.29 版本中存在换行解析漏洞,在解析 XXX.php\x0A 时,会按照 .php 进行解析,又是可以使用此方法绕过一些安全策略
|
||||
### 5.20 通用检测方法
|
||||
|
||||
判断是否为黑白名单,如果是白名单 寻找可控参数。如果是黑名单禁止上传,可以用有危害的后缀名批量提交测试。
|
||||
### 5.21 文件上传的繁育方法
|
||||
1. 服务器端使用白名单进行防御
|
||||
|
||||
1. 修复 WEB 中间件漏洞
|
||||
|
||||
1. 进制客户端存在可控参数
|
||||
|
||||
1. 文件存放目录进制脚本执行
|
||||
|
||||
1. 严格限制后缀名,并且让文件名随机,不可预测
|
||||
|
||||
### 课程详情
|
||||
|
||||
**目前限时特惠价格!**
|
||||
|
||||
SRC课程:999
|
||||
|
||||
红队课程:1999
|
||||
|
||||
SRC课程+红队课程:2699
|
||||
|
||||
**学习方式:直播+录播。**
|
||||
|
||||
1.提供课程中涉及的所有笔记内容,实现课后高效化复习。
|
||||
|
||||
2.提供课后答疑,解决学习过程中存在的疑惑。
|
||||
|
||||
3.提供漏洞知识库,方便大家测试存在指纹的站点时,能快速的找到自己想要的POC。
|
||||
|
||||
4.提供漏洞挖掘中所为用到的工具,辅助挖洞时的配置文件及字典,实现漏洞挖掘高效化。
|
||||
|
||||
5.有内部圈子及内部群进行交流学习及工具的获取。
|
||||
|
||||
6.一次付费永久免费,无论后续更新任何SRC的新内容均免费跟学。
|
||||
|
||||
**特别提醒**
|
||||
|
||||
语雀笔记及内部辅导视频,禁止外传,违者视为自动放弃学习资格。
|
||||
|
||||
语雀,注册后在会员信息页填写邀请码BL3R17 即可领取 30 天语雀会员。
|
||||
|
||||
前往注册:https://www.yuque.com/about
|
||||
|
||||
学员可享受
|
||||
|
||||
漏洞库
|
||||
|
||||

|
||||
|
||||
详细的课件
|
||||
|
||||

|
||||
|
||||
内部专属圈子(漏扫工具/POC/适合挖洞的插件规则/漏洞报告等)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
学员的真实反馈:
|
||||
|
||||
较为有天赋的学员
|
||||
|
||||

|
||||
|
||||
大部分学员现况
|
||||
|
||||

|
||||
|
||||
耐心的为每一位学员解决问题,并且会挑出大家都出现的问题,即使之前讲过,也会耐心的再次讲解
|
||||
|
||||

|
||||
|
||||
记录学员的学习情况
|
||||
|
||||

|
||||
|
||||
也会随机进行回访
|
||||
|
||||

|
||||
|
||||
很多已经就业的师傅,也能课程从中学到许多知识
|
||||
|
||||

|
||||
|
||||
也会耐心帮助学员进行简历修改及发展规划建议
|
||||
|
||||

|
||||
|
||||
实时根据学员反馈调整上课内容
|
||||
|
||||

|
||||
|
||||
随机进行漏洞知识提问
|
||||
|
||||

|
||||
|
||||
以实操的形式帮扶大家学习
|
||||
|
||||

|
||||
### 免责声明
|
||||
|
||||
参与学习需要遵守国家法律法规,相关知识只做技术研究,请勿用于违法用途,造成任何后果自负与本人无关。
|
||||
### 法律法规
|
||||
|
||||
中华人民共和国网络安全法(2017年6月1日起施行)
|
||||
|
||||
第二十二条 任何个人和组织不得从事入侵他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供从事入侵网络、干扰网络正常功能、窃取网络数据等危害网络安全活动的工具和制作方法;不得为他人实施危害网络安全的活动提供技术支持、广告推广、支付结算等帮助。
|
||||
|
||||
第三十八条 任何个人和组织不得窃取或者以其他非法方式获取公民个人信息,不得出售或者非法向他人提供公民个人信息。
|
||||
|
||||
第六十三条 违反本法规定,给他人造成损害的,依法承担民事责任。第六十四条 违反本法规定,构成犯罪的,依法追究刑事责任。
|
||||
|
||||
中华人民共和国刑法(285.286)第二百八十五条 违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。
|
||||
|
||||
第二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
|
||||
|
||||
中华人民共和国刑法修正案7(第九条)在刑法第二百八十五条中增加两款作为第二款、第三款:“违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。“提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。
|
||||
|
||||
**扫描二维码添加微信咨询学习**
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user