注:通过该方法,成功在短时间内使用ZoomEye挖掘到到多个通用应用的未公开高危漏洞。
正常来说挖掘漏洞是通过审计代码或者黑盒审计发现漏洞,这是比较常规的办法,针对某个应用或者产品的功能点进行漏洞挖掘。
转念一想是否有办法通过具体的漏洞信息去反推哪些站点或者应用存在此漏洞?当然是可以的,不过弊端就是挖掘的目标是随机的了,给这个技巧取名叫“目标反推法”。
按照目标反推法我举个例子并用ZoomEye进行实践漏洞挖掘,假设有个任意文件读取漏洞payload为down.php?Filename=xxxxxx(来源CVE数据库)。
我们假定包含该关键字(down.php?Filename=)的站点或者应用都存在任意文件读取漏洞,使用ZoomEye对包含该关键字的页面进行测绘,共测绘出1302条结果。
一条一条的打开站点尝试Payload显然是个低级的做法,即使编写脚本验证但每个站点的页面情况都存在差异短且时间不容易全部兼容(当然也可借助三方提取工具)。
简便的方法是在ZoomEye页面的点击右侧聚合结果中的Title(ZoomEye这个功能很赞!没有任何限制且可以按照多个字段自由聚合),通过查看网站Title的聚合结果可以快速查看哪些站点具有相同的标题名,往往通用组件一般都具有相同的网站名。
聚合数据显示了不同的标题对应的资产数量,我们以标题为”NES 웹하드”的应用为例展开说明】。
点击对应的标题查看具体有哪些资产,并查看我们搜索的Payload在站点中具体的呈现方式。
复制带有Payload 关键词的地址并启用fuzz脚本(自己编写或后台回复fuzz获取)对下面的链接进行测试。
http://xxx.xxx.xxx.xxx/control/data/file_down.php?filename=xxxxx
很明显啊,不到3秒就完成了fuzz并确定了漏洞存在!挖掘一个通用组件的漏洞就是这么快,主要是思维方法要活跃。
总结一下,目标反推法挖掘漏洞的重点在于对漏洞出发点关键payload的收集与fuzz测试,可以参考CVE漏洞库中关于各类漏洞的介绍说明(其中会包含漏洞触发点)。
本文仅用任意文件下载的某个Payload作为该漏洞挖掘方法的说明,当然也可以用于到任意文件上传、SSRF、任意文件读取、XSS等多个漏洞的挖掘应用上,重点是要了解方法的本质和原理。
致谢:
感谢CVND漏洞数据库提供的参考资料。
感谢CVE漏洞数据库提供的参考资料。
大力致谢ZoomEye在探索过程中提供的帮助!
现在添加ZoomEye小助手进群即可获得2000积分!回复“增益安全”可再获取500积分!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...