西安火车站建设,小游戏代码编程,佛山网站建设格式有哪些,展示型的网站开发价格0x00#xff1a;使用原因 我们在做渗透测试的时候#xff0c;经常会遇到这种情况#xff0c;测试跨站可能有些功能插入恶意脚本后无法立即触发#xff0c;例如提交反馈表单#xff0c;需要等管理员打开查看提交信息时才会触发#xff0c;或者是盲注跨站#xff0c;盲打 … 0x00使用原因 我们在做渗透测试的时候经常会遇到这种情况测试跨站可能有些功能插入恶意脚本后无法立即触发例如提交反馈表单需要等管理员打开查看提交信息时才会触发或者是盲注跨站盲打 XSS 这种。再例如 SSRF如果程序不进行回显任何信息而只提示你输入的是否合法那么也无法直接判断程序存在 SSRF 漏洞我们可以叫盲 SSRF。再例如 XXE引入外部文件时如果程序也不返回任何信息和引用文件的内容而只提示输入的是否有误那么也无法直接判断程序是否存在 XXE 漏洞我们也可以叫盲 XXE。总之程序不进行详细的回显信息而只是返回对或者错时我们都可以叫它盲。 解决办法是我们需要一个外部的独立的服务器可以通过域名 url 进行访问。然后在测试盲跨站插入恶意脚本时带上这个服务器的地址在测试盲 SSRF 时读取的文件 url 写我们这个服务器的地址在测试盲 XXE 时引入的外部实体地址也写我们这个服务器的地址。如果存在上述的这些问题那么目标服务器就会去访问我们自己的服务器我们自己服务器要做的就是记录别人访问自己的信息记录其发送内容相应内容等因为目标服务器不会给前台返回任何信息而在和我们外部服务器交互时我们外部服务器会记录其交互的过程和内容从而有利于我们判断漏洞的存在。 明白原理后Burp 给我们提供了这个外部服务器叫 Collaborator对于 Collaborator 服务器我们有两种使用方式第一个是使用 burp 官方提供的第二个是自己搭建。本文章记录 burp 官方提供的使用方法至于自己搭建如果大家感兴趣可以在网上搜索相关的教程内容。 0x01Collaborator 介绍 对于 Collaborator 服务器我们这里简单介绍下它应该拥有哪些功能。首先它要能捕捉到 burp 发出的 payload 触发目标与外部系统发生数据的交互行为其次它自己与目标产生交互的数据要能够返回到 burp也就是返回给攻击者也就是我们。 对于 Collaborator 服务器我们这里再简单的介绍下它应该有哪些服务首先它是公网 ip其次它要有自己的域名并且这个服务器要注册为该域名的权威 dns 服务器。然后这个服务器要提供 dns 服务并且可以相应任何对它的 dns 请求。最后它需要提供 http 和 https 服务且需要使用一个有效的 ssl 证书。对于为什么要提供 dns 和 http、https 服务很好理解payload 如果可以执行或者可以允许远程加载那么就需要用 dns 来解析我们的域名而产生的交互则需要 http 和 https 来提供。 0x02Collaborator 原理 我们知道了使用原因和其具有的功能后我们再来简单看下它的原理首先我们先来看下平时的测试过程如下图。 平时测试时我们会像服务器提交一个 payload而服务器响应给我们相关的 response 信息。大家都叫它带内攻击这些理论的东西我们简单理解就好这里我们就理解成单挑通信的通道为带内攻击也就是整个测试过程或者说是交互过程中间没有其外部的服务器参与只有自己和目标服务器那么就叫带内。而我们一般的测试如果称为带内攻击那么 Collaborator 服务器用来测试盲的各种漏洞的话则需要我们外部的独立服务器参数也就是带入了外部的服务器我们叫它带外攻击。这里简单的提了一下这个带内和带外我们只要理解其过程即可。带外流程图如下。 以上就是 collaborator也就是带外攻击的大体流程其实就是在测试的过程中目标服务器和外部的服务器有了交互下面再来看一张更详细的图。 上面这个图可以大体的代表 collaborator 的大体工作流程首先 burp 发送 payload 给目标程序以上图为例param 存在漏洞注入点其 payload 为外部的服务器 url 地址随后目标程序若进行解析或则引用调用等则会去访问这个地址而这个地址是我们的 collaborator 服务器所以 collaborator 会记录其访问的请求信息以及响应信息和 dns 的信息。而当 burp 发送 payload 后就会不断的去问 collaborator 服务器你收到我发送的 payload 交互了么这时 collaborator 就会将交互信息告诉 burpburp 最后进行报告。 以上就是 collaborator 的大体工作流程最后我们再说两个理论性的东西一个是 burp 的 collaborator 地址当使用 burp 的 collaborator 时burp 会提供一个 url 地址这个地址是 burp 的一个二级域名。第二个是轮询也就是我们上面提到的burp 发送 payload 后会不断的问 collaborator 是否收到我发生的 payload 交互信息例如 10s 问一次我们可以叫它轮询其实叫什么无所谓我们理解这个过程即可。 0x03Collaborator 使用 对于 burp 的 collaborator好像是 1.7 几以后自带我这里没有所以是通过安装插件来实现的直接到 burp 的 extender 下的 bapp store 找到 Collaborator 安装即可。安装后首先需要设置下我们使用的服务器是官方默认提供的在 project options-misc-burp collaborator server 下选择第一个默认官方服务即可第二个是关闭 collaborator第三个是使用自己的服务器。如下图。 设置好后我们可以通过工具栏的 burp 下的 burp collaborator client 来运行如下图。 打开 collaborator 插件后点击 copy to clipboard 来复制其提供的 payload url如下图。 number to generate 是生成的数量下面的 poll now 按钮是轮询时间点击 copy to clipboard 复制其提供的 payload url 后就可以直接在要测试的点粘贴即可如果目标服务器有交互则 collaborator 会有响应信息。且这个 payload url 每次复制其二级域名都会随机生成。 0x04盲 XXE 测试 我这里没有找到盲的 XXE 漏洞示例所以就拿 bwapp 的 xxe 做演示了bwapp 的 xxe 是有回显信息的我们先来看下它的原始请求包。 原始请求发送的 xml 内容其 login 的名称会进行回显这里我们把它当作没有任何回显信息只返回 true 和 false 的话我们用 collaborator 来进行测试首先修改 xml 的内容加入一个变量值为外部的服务器 url然后进行发送这时 collaborator 会不断轮询去问交互结果而结果会在 collaborator 中进行显示如下图。 上图画绿线的就是 collaborator 提供的 payload url我们在原始的内容上加入了 entity 实体变量 test值为 payload url这时 go 发送后collaborator 捕获的交互信息如下。 上图是 request 的内容host 的是我们的 payload url请求后我们再切换到 response 栏查看内容如下图。 payload url 请求会返回一串随机内容我们可以看到已经成功的进行了响应说明目标服务器进行了外部的请求和交互那么对于盲 xxe 来说我们可以证明存在此问题。 0x05盲 SSRF 测试 SSRF 在加载外部文件时若没有进行严格过滤则可导致任意文件加载若加载文件而不反悔文件的内容也不反悔任何详细的信息那么对于这种盲 SSRF我们也可以用 collaborator 进行测试只要加载的请求替换成我们的 payload url 即可。这里还以 bwapp 的 SSRF 为例bwapp 的 SSRF 也是有回显信息的我们还把它当成没有任何提示的盲来进行演示。 首先还是先来看下原始的请求数据包内容如下图。 对于 url 中的 language 字段引用的文件名称可以随意进行替换也算作是文件包含问题我们把他换成 payload url 后进行提交此时 collaborator 会显示出其交互的详细信息resquest 如下图。 可以看到目标服务器进行了 dns 解析了我们的域名然后 http 进行了访问response 信息如下图。 0x06盲 XSS 测试 同样的我们也可以用 collaborator 来进行盲跨站的测试使用场景例如盲打 xss提交表单等若一个平台的提交表单功能提交内容插入恶意脚本后提交后台可能不会立即生效需要等管理员访问相关的页面才会执行那么我们无法判断是否存在存储跨站的问题这时使用 payload url 后collaborator 会不断的进行轮询只要管理员进行了访问collaborator 就会捕捉到然后返回到 burp。 我们这里还以 bwapp 的 stored xss blog 为例这里的脚本提交后就会在列表中显示并执行也是有回显的我们这里还是以盲跨站来测首先在提交内容处插入 script 标签src 为我们的 payload url如下图。 插入后我们查看元素可以发现脚本内容已经插入成功如下图。 因为插入的时候就会执行一次而我们浏览页面的时候又执行了一次所以 collaborator 会又两条记录信息这里我们当成盲 xss 来测如果插入没有执行而当管理员访问页面后 payload 执行了。collaborator 捕捉的交互信息如下request 内容。 response 内容这里是两条信息插入执行了一次访问又执行了一次而我们测试盲 xss 时是只有一条插入无法验证所以没有管理员访问后执行所以一次大家不要在意这里的细节明白其原理和使用即可。 以上就是 burp 的 collaborator 使用的一些简单的总结理论上对于盲 sql 注入也应该可以行得通但是我没有找到合适的例子本机尝试也有一些错误所以就不列了如果碰到盲注的话可以先判断它是数字型还是字符型随后再通过 and、or 这些关键字结合查询一下来判断对于 collaborator 的话官方说明文档说可以使用 sql 去查询 xml 文件xml 引入外部实体也就是 payload url然后看交互信息。 0x07总结 对于平时测试中的一些盲问题例如盲 xss盲 xxe盲 ssrf 等如果不能看到一些回显信息无法判断是否存在漏洞时可以使用 burp 的 collaborator 来进行尝试。 公众号推荐aFa攻防实验室 分享关于信息搜集、Web安全、内网安全、代码审计、红蓝对抗、Java、Python等方面的东西。 /article