Burp之Collaborator使用技巧

Stella981
• 阅读 968

注:本文仅供学习参考

=============

0x01 Collaborator的用途
0x02 Collaborator的原理
0x03 Collaborator的实践

0x01 Collaborator的用途
在我们进行渗透测试的时候,可能会遇到这种情况,测试xss的时候插入了脚本,无法立即触发,例如提交反馈表单,需要等管理员打开查看提交信息时才会触发,或者是无回显的ssrf,无回显的xxe,盲打 XSS 这种。比较难判断是否存在这个漏洞。那如何判断这类漏洞是否存在呢?

解决方法: 我们需要一个外部的独立的服务器,可以通过域名 url 进行访问。然后在测试这些无回显的xss,ssrf,xxe时带上这个服务器的地址,如果存在上述的这些问题,那么目标服务器就会去访问我们自己的服务器,我们自己服务器要做的就是记录别人访问自己的信息,记录其发送内容相应内容等,因为目标服务器不会给前台返回任何信息,而在和我们外部服务器交互时,我们外部服务器会记录其交互的过程和内容,从而有利于我们判断漏洞的存在。这个外部独立的服务器可以通过Collaborator实现我们的需求

0x02 Collaborator的原理
知道功能后,我们来了解Collaborator的原理。首先,我们来看下平时测试的流程图

Burp之Collaborator使用技巧

平时测试时,我们会向服务器发送信息,而服务器响应给我们相关的 response 信息。大家都叫它带内攻击,也就是整个测试过程或者说是交互过程,中间没有其外部的服务器参与,只有自己和目标服务器,那么就叫带内。

那么 Collaborator 服务器用来测试各种盲的漏洞的话,则需要我们外部的独立服务器,也就是带入了外部的服务器,我们叫它带外攻击。如果站点存在漏洞的话,会向我们的Collaborator服务器发送信息,当看到对方服务器发送信息到我们服务器的话就可以存在漏洞。如下图流程所示

Burp之Collaborator使用技巧

0x03 Collaborator的实践
首先打开Collaborator

Burp之Collaborator使用技巧

Burp之Collaborator使用技巧

点击copy to clipborad来复制其提供的 payload url,number to generate 是生成的数量,

Burp之Collaborator使用技巧

这里以webug3.0的靶场做演示

Burp之Collaborator使用技巧

将生成的payload url 粘贴到可能存在漏洞的地方

Burp之Collaborator使用技巧

发送请求,然后我们来看看我们的服务器是否收到了请求

Burp之Collaborator使用技巧

可以看到,我们的服务器成功收到了请求,可以确认存在SSRF漏洞

总结
对于平时测试中的一些盲问题,例如盲 xss,盲 xxe,盲 ssrf 等,如果不能看到一些回显信息,无法判断是否存在漏洞时,可以使用 burp 的 collaborator 来进行尝试。

Burp之Collaborator使用技巧

本文分享自微信公众号 - 黑白天(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
35岁是技术人的天花板吗?
35岁是技术人的天花板吗?我非常不认同“35岁现象”,人类没有那么脆弱,人类的智力不会说是35岁之后就停止发展,更不是说35岁之后就没有机会了。马云35岁还在教书,任正非35岁还在工厂上班。为什么技术人员到35岁就应该退役了呢?所以35岁根本就不是一个问题,我今年已经37岁了,我发现我才刚刚找到自己的节奏,刚刚上路。
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
京东云开发者 京东云开发者
6个月前
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这