记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

基于镜像流量的漏洞挖掘思路

2016-08-20 18:20

背景

通过Cobra扫描内部SSRF的时候,发现还是存在漏报的情况。

漏报的主要问题是Cobra扫到的某个漏洞(V),而这个漏洞会有多处(N)调用,所以只要这个漏洞(V)不修复,它的影响就会是V*N。

举个例子,Cobra对于SSRF在PHP语言下的漏洞发现检测是通过匹配可能出现问题的两个函数。

file_get_contetns() 
curl_init()

这两个函数的入参都是一个URL类型,Cobra接着反查这个URL是否可控,如果发现这个URL是触发点所在的函数(F)入参传进来的话,就认为是风险。

问题就出在这个函数(F)会出现多次被调用情况。

如何进一步提高类似漏洞的发现思路?

既然SSRF漏洞的前提条件必须是外部URL可控,那么如果能找到我们应用服务器上所有的请求报文记录,匹配出其中GET参数或POST的报文中存在URL的,再验证下,那就能确定所有的SSRF漏洞和任意链接跳转。

如何拿到服务器所有的请求记录呢?

第一想到的肯定是通过服务器截包,但是截包会导致网络、内存、CPU、IO都会受到很大影响。 虽然有消除海量中断、旁路内核协议栈、减少内存拷贝、CPU多核任务分担等技术方案来优化,但这样实现的成本太高。

发现公司在使用的DPDK,可以实现高性能的报文转发。

简单点的实现就是在入口交换机接出一条线给一台存储服务器,那么存储服务器可以通过DPDK收集所有经过该交换机的全部报文。就相当于给该交换机做了一个镜像流量。

镜像流量就可以定时采集储存并推送给Cobra服务器,Cobra增加规则去分析镜像内所有Request报文中是否存在URL参数的请求,再通过SSRF EXP判断是否存在SSRF漏洞以及任意链接跳转。

还能干嘛?

除了弥补Cobra白盒审计的误报外,另外一个最大的意义是将这些镜像流量给黑盒。

黑盒最大的问题是无法全面的爬取所有的请求,导致覆盖面有问题,遗漏一些隐患点。 这些镜像流量就刚好填补了黑盒的缺陷,让黑盒可以去更加真实、全面的探测所有请求。

通过这个方法,除了挖掘公司内部漏洞,还连带的着发现了一些外部站点的漏洞。 比如:

微博大量服务器任意文件读取、写入(可GET SHELL)- 还未修复,待公布!

引用参考

未经允许不得转载: » 基于镜像流量的漏洞挖掘思路

知识来源: www.mottoin.com/87670.html
想收藏或者和大家分享这篇好文章→复制链接地址

“基于镜像流量的漏洞挖掘思路”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云