前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Burp XXE Scanner 插件开发(附下载)

Burp XXE Scanner 插件开发(附下载)

作者头像
FB客服
发布2018-07-30 11:16:16
1.3K0
发布2018-07-30 11:16:16
举报
文章被收录于专栏:FreeBuf

0x00 前言

Burp没有自带检测XXE漏洞功能,也没有插件。于是自己开始动手撸一个XXE Scanner插件出来。

0x01 检测原理

OOB XXE盲攻击,利用ceye监控的http记录,我们再通过ceye给的api进行查询是否有利用XXE漏洞发送的http请求记录。使用如下payload。

0x02 成品展示

首先需要一个ceye账号,将Identifier(用于http请求到你的ceye账户下)Token(用于API查询你的http请求记录)分别填入到下图的文本框当中,点击保存。会在burp目录下生成xxe.config,以Identifier|Token格式保存着。下载启动burp的时候,XXE Scanner插件会自动读取xxe.config,获取到上次保存的参数。

请求带xxe_XXXXXXXXXX(10个随机字母或数字),用于后面判断是否利用XXE发送了http请求。

通过api查询,检测到带有xxe_XXXXXXXXXX(10个随机字母或数字)的请求,则报XXE inject。

0x03 插件开发

由于有需要填写配置参数,所以需要一个自定义tab页面。需要使用ITab接口,并且使用IBurpExtenderCallbacks.addSuiteTab()进行添加。新建XxeOption类继承ITab,然后再构造方法里面添加控件。

最后在registerExtenderCallbacks方法里实例化XxeOption即可。

IScannerCheck可以自定义扫描,一种是doActiveScan主动扫描,一种是doPassiveScan被动扫描。主动扫描是对每个参数进行扫描,会发送n次请求包。而被动扫描只会扫一次,将doPassiveScan函数代码走完一遍就完了。而检测XXE我们只需要发送一次数据包,所以选择被动扫描。

接下来就是发送xxe payload。使用buildHttpMessage将headr和body组合。再使用makeHttpRequest发送请求。

使用makeHttpRequest进行api接口查询。

对返回结果进行匹配。

0x04 参考

https://portswigger.net/burp/extender/api/

点击原文查看下载地址

* 本文作者lufei,转载注明来自FreeBuf.COM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
  • 0x01 检测原理
  • 0x02 成品展示
  • 0x03 插件开发
  • 0x04 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档