本文主要介绍使用Burp Collaborator.对这几种类型漏洞进行探测。
首先介绍两个概念,带内与带外的区别核心在于是否使用不同的通信通道。
在一次攻击当中,只有一条通道,属于in-band(带内)攻击:
现在同一次攻击下,不止一条信道,则属于out-band(带外)攻击:
简单的讲,常规的web测试模型就是我们向目标发送payloads,然后分析目标返回的数据。
这个模型很容易建立并且容易理解,但是这个简单的模型漏掉很多bugs,比如:
Burp Collaborator 给传统web测试模型添加了一个新的部分,Burp Collaborator的功能有:
Burp Collaborator模块包含如下特征:
与外部服务交互行为发生在一个payload提交到目标应用上,导致目标通过某个网络协议和一个外部的域名进行信息交互。
这种行为有时候被称为SSRF,我们更偏向于称之为外部服务交互(”external service interaction”)攻击,因为这种情况里面,很多行为不仅仅通过HTTP协议触发,还有SMB或者FTP等。
外部服务交互可以代表一个严重的漏洞,因为他可以允许应用服务器作为一个代理来攻击其他的服务器。这包裹公网上面的第三方系统,同一个组织下的内部系统或者监听在本地的服务。根据网络结构,这可以将内部容易被攻击的系统暴露给外部的攻击者。
Burp payload包含Brup Collaborator主域名的随机子域名列表。当一个基于HTTP的外部服务交互攻击发生的时候,Collaborator服务器将会收到指定子域名的一个DNS查询。接收到DNS查询足够确认存在问题。如果一个payload以http://…开头只导致了一个DNS交互,那么几乎可以确定目标服务器阻止了对外http请求。在这种情况下,后续的攻击可以针对其他组织服务或目标其他IP。因为这个原因,Burp分开报告触发到的DNS和HTTP交互行为。
在Burp的issue advisory中,Burp报告中显示了尝试让目标服务器进行外部服务交互行为的请求和Collaborator server交互的所有细节。
Out-of-band resource load发生的情况是将payload发送到目标应用上面导致目标先尝试通过一个域名获取内容,然后将获取到的内容整合到原始的返回数据之中。
这种行为有时候归类为为远程文件包含。但是远程文件包含这个名词有PHP文件包含等含义。我们更偏向于称之为” out-of-band resource load”攻击,因为这种情况里面,有时候应用从外部获取内容然后将其放入应用的返回结果当中。
Out-of-band resource load攻击是一种威胁很高的问题,一个攻击者发送payload,然后从可以交互的应用中获取数据。另外,这也可以导致暴露第三方系统或者敏感的内部系统。
另外,应用程序处理out-of-band content时暴露了一些重要而且不传统的攻击面。
Burp会详细报告Collaborator server产生的的交互行为信息,并展示内容如何从Collaborator反向传输到应用带内再返回给用户。
在外部资源加载漏洞已经确认存在的情况下,这时候很可能也存在out-of-band XSS
Out-of-band XSS不属于通常的XSS分类下
可以注入的payload类型包括SQL注入,XXE注入,OS命令注入等。使用这些payloads的时候,Burp不需要从目标服务器获取任何返回的信息,但是可以成功的探测到注入漏洞。在这种情况下,只需要一次DNS查询就可以确定注入漏洞存在。因为目标服务器需要进行域名查询所以总是允许外部DNS查询。
当探测到任何类型的外部服务交互,我们可以使用Collaborator server的返回数据来向目标服务器传输传统的输入型payloads。由于目标应用会处理Collaborator的返回数据,常规的漏洞就会存在,包括SQL注入,server-side code execution等。
这种漏洞可能会很常见,毕竟当前还没有完全被测试过。
目标应用程序会处理从Collaborator server获取的数据并存储。
探测stored out-of-band resource load 很直接:
基于上图的行为,我们可以测试stored out-of-band XSS漏洞:
我们已经描述了如何探测”super-blind”注入漏洞,同样我们也可以探测那种先需要被存储下来,然后再被目标取出从而产生的漏洞。与Collaborator server之间的延迟的交互行为能让我们发现很多这种存储型的漏洞。
比如,XSS盲打(blind stored xss)这个漏洞,攻击者是无法探测到攻击是否成功,因为攻击者没有访问后台的权限。但是我们可以先提交存储型xss payloads,然后使用Collaborator server触发交互行为。
在这个例子中,当应用管理员访问被保护的页面,Burp通过Collaborator server可以确定存储型攻击发生。并且,通过从Collaborator获的HTTP Refer可以知道管理的管理地址(即后台地址)。
上文中的漏洞类型主要涉及DNS和HTTP协议,事实上,我们也可以使用其他协议触发Collborator和目标应用交互行为:
[via@xiaoxiaoleo] 本文系91ri.org投稿文章,未经作者允许请勿转载。
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号