Giter Site home page Giter Site logo

jiangsir404 / pbscan Goto Github PK

View Code? Open in Web Editor NEW
98.0 2.0 23.0 60.48 MB

基于burpsuite headless 的代理式被动扫描系统

Python 90.32% CSS 0.31% JavaScript 9.21% Shell 0.03% TSQL 0.13%
burpsuite-headless passive-scanner passive-vulnerability-scanner carbonator

pbscan's Introduction

pbscan

基于burpsuite headless 的代理式被动扫描系统

现有burp批量扫描工具

headless burpsuite

无头burpsuite, 即没有图形界面的burpsuite,可以再服务器上面运行.

已有工具: headless-burp-scanner: https://github.com/NetsOSS/headless-burp carbonator: https://github.com/integrissecurity/carbonator

carbonator 提供参数

optional arguments:
  -h, --help     show this help message and exit
  -host HOST     Enter an IP address or Domain name
  -saveState     Save Burpsuite State
  -enableBing    Enable Bing Reverse IP
  -enableGoogle  Enable Google Search
  -file FILE     File containing Domain names or IP addresses
  -headless      Run Burp headless

扫描方式: 发送url->spider->scanner 去扫描。

burpsuite2.0 restful api

curl -vgw "\n" -X POST 'http://localhost:1337/v0.1/scan' -d '{"scan_callback":{"url":"http://123.206.65.167:2000"},"scan_configurations":[{"name":"myburp","type":"NamedConfiguration"}],"scope":{"include":[{"rule":"http://localhost:82/*","type":"SimpleScopeDef"}]},"urls":["http://localhost:82/myctf/xss/xss.php?d=1&x=1"]}'

扫描方式: 输入url->spider(模拟表单登陆)->scanner 扫描。

缺点: 可以看到上面两种支持burpsuite 批量扫描模式都是输入url->爬虫->scanner扫描, 无法满足带cookie 的一些站点扫描,而且加上spider爬虫爬取后的链接数量不易控制。

pbscan功能

  • 再carbonator的基础上进行开发,通过内置bottle服务器实现burpsuite 1.7的扫描api接口
  • 扫描接口可以实现发送数据包直接到scanner去扫描,无需经过spider, 自带cookie扫描。
  • 自定义burpsuite扫描插入点(目前只扫描get和post参数), 自定义burpsuite扫描漏洞(去掉一些不重要的漏洞比如明文传送,HTML未设置字符集等)
  • 通过接口可以实时获取扫描结果。
  • 使用rabbitmq+pika 实现消息队列,每个数据包都有一个token和rid标识,支持多人共同扫描。
  • 可以支持同时开多个headless burpsuite 来扫描以加快扫描速率。
  • 支持burpsuite 报表结果显示,用thinkphp写的展示平台来进行结果展示。
  • 利用burp插件或chrome插件来进行代理获取数据包,可以实现代理式被动扫描。

安装使用

  1. 依赖安装
wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc  
sudo apt-get update
sudo apt-get install rabbitmq-server
pip install pika
pip install gevent
pip install MySQL-python
  1. 导入数据库sql.sql, 修改pbscan-server/config.py 中的配置信息

  2. 部署运行, 有两种方式可以集中部署,一个是通过supervisor的方式来部署,另一个是直接用nohup后台进程运行。

supervisor部署

#先安装supervisor软件:
apt-get install supervisor
pip install supervisor

# 修改pbscan_supervisor.conf的路径, 启动supervisor
cp pbscan_supervisor.conf /etc/supervisor/conf.d
supervisord
supervisorctl update
supervisorctl status

使用nohup后台部署

bash start.sh

如果只想要api的接口,也可以单独运行pbscan-api。

api扫描接口

获取结果显示:

[
	{
	  	u'insert_point': 3,
		u'issues_num': 0,
		u'request_num': 122,
		u'rid': u'4b397ed50505b5e7c406ef9776b00b766203159e',
		u'scanTime': u'2019-01-15 17:36:24',
		u'scanUrl': u'GET xx.cn:80/profile/managetag?page=1&qid=2619946579',
		u'status': u'50% complete',
		u'token': u'6465fkfljalfj5456'
  	},
	{
		u'insert_point': 3,
		u'issues_num': 0,
		u'request_num': 99,
		u'rid': u'4b397ed50505b5e7c406ef9776b00b766203159e',
		u'scanTime': u'2019-01-15 17:36:26',
		u'scanUrl': u'GET xx.cn:80/profile/managetag?page=1&qid=2619946579',
		u'status': u'50% complete',
		u'token': u'6465fkfljalfj5456'
	}
 ]

pbscan's People

Contributors

jiangsir404 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.