0%

BurpSuite笔记

目前来说,windows系列的chrome和firefox对安全审计越来越严格了。。。还是得在Linux端操作,但抓exe的流量又得在windows,就很难受,虽然可以在wine里搞,但难受终究是难受。。。

安装Tls证书

浏览器代理使用burp的监听端口,输入 http://burp

  • Chrome
    • 设置 --> 隐私设置和安全性 --> 管理证书 --> 授权中心,添加证书后,重启浏览器
  • Firefox
    • 选项 --> 隐私与安全 --> 查看证书 --> 证书颁发机构,添加证书后,重启浏览器

Windows光标偏移

User options --> Display --> Character Sets --> HTTP Message Display --> 楷体 16

Linux response中文乱码

sudo apt install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy -y

如果title中文乱码无法解决

编码网页修改编码

  • GBK
    • User options --> Display --> Character Sets --> Use a specific character set: GBK
  • UTF-8
    • User options --> Display --> Character Sets --> Use a specific character set: UTF-8

安装Jython/Ruby

  • 安装Jython**

    Jython.org

    Extender --> Options --> Python Environment --> Location of Jython srandalone JAR file

    选择Python包文件夹site-packages

    ... Folder for loading modules (optional)

可选 插件安装路径

User options --> Display --> Misc --> Temporary Files Location

BApp商店安装插件

Extender --> BApp Store

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Burpsuite自带的日志只记录了HTTP Proxy的请求,无法查看Repeater、Intruder等模块的历史记录,Logger++增加了这方面的功能,可以方便的筛选查看各模块历史记录
Logger++

# 用于渗透测试过程中CSRF Token的自动更新
CSRF Token Tracker

# 用于增强Burpsuite对XSS漏洞的检测
# Phantom.js:http://phantomjs.org/download.html
# xss.js:https://github.com/nVisium/xssValidator/tree/master/xss-detector
# Phantom.js和xss.js文件放在同一目录下,使用Phantom.js运行本地XSS-Detector服务
# xss.js文件中包含XSS-Detector服务的监听IP、端口,默认为127.0.0.1:8093
# Burpsuite拦截请求包发送到Intruder,设置Payload位置,Payload Type选择Extension-generated,Generater选择XSS Validator Payloads
XSS Validator

# 包含多个小工具,Sqlmap命令生成、执行、字典生成、Shell生成等
# 右键菜单,Send to SQLMapper,CO2 Config中配置好python、sqlmap的路径,可以点击Run自动运行命令。Options中可配置其它sqlmap测试参数
CO2

# ...
SQLiPY

# 检测JBoss、Tomcat、Weblogic、Oracle 应用服务器、Jetty、Apache Axis、JBoss SEAM、Java Server Faces、Apache Wicket、Grails、Apache Struts以及多种CVE漏洞
J2EEScan

# 增强漏扫结果
Active Scan++

# ...
Additional Scanner Checks

# 主动扫描CSRF漏洞问题,加强burpsuite中的CSRF扫描功能
CSRF Scanner

# 经典的Heartbleed 心脏出血漏洞
Heartbleed

# JSON格式化
JSONBeautifie

# 在不同的 Content-type 之间转换
Content Type Converter

# 右键单击请求部分就能将其转换为Python 格式
Copy As Python-Requests

# 用于XSS漏洞检测
XSS Validator

# WAF检测
WAFdetect

# 过WAF
BypassWAF

# 实现bp和SQLMap对接
SQLmap

Extensions add安装插件

Extender --> Extensions --> add --> 修改Extension type

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 用于越权漏洞的检测,在插件中配置多个不同用户的Cookies,检测各等级账号对页面的访问权限
# https://github.com/SecurityInnovation/AuthMatrix
AuthMatrix

# https://github.com/nccgroup/LoggerPlusPlus
Logger++

# 乌云插件
# https://github.com/Mr-xn/BurpSuite-collections/blob/master/plugins/WooyunSearch-1.0-SNAPSHOT-jar-with-dependencies.jar
WooyunSearch-1.0-SNAPSHOT-jar-with-dependencies.jar

# 自定义扫描规则自动扫描
# https://github.com/wagiro/BurpBounty/releases/
BurpBounty

# IP伪造
# https://github.com/TheKingOfDuck/burpFakeIP
burpFakeIP

# HackBar
# https://github.com/d3vilbug/HackBar/releases
HackBar

# 一个将有用的小功能加入Burp Suite右键菜单的插件
# https://github.com/bit4woo/knife
Knife

爆破

判断响应结果

常见判断方式

  • 1、看长度
  • 2、筛状态码

疑问?

爆破几十万个用户+密码遇到长度不一的response如何判断是否爆破成功呢?

爆破几十万个用户+密码遇到状态码都是200如何判断是否爆破成功呢?

这个时候就要去筛response的内容了,也就是过滤

那么简单的英文过滤没啥好讲的,要提一下中文过滤

最近有个大佬就遇到了爆破几十万个用户+密码response长度不一,且过滤无法过滤response中文

大概查了下资料,发现想让bp支持中文过滤,就要把中文解码成iso-8859-1。。。

直接python3代码

"输入的密码错误".encode("utf-8").decode("iso-8859-1")

解码结果为:

è¾\x93å\x85¥ç\x9a\x84å¯\x86ç\xa0\x81é\x94\x99误

把结果扔到过滤里取非就行了。。。

参考

ISO-8859-1 编码转化为中文

Burpsuit中文处理及暴力破解应用

Bp抓取微信等程序

先决条件:

1
2
3
安卓系统7.0以下:微信的任意版本,都会信任用户提供的证书
安卓系统7.0以上:微信7.0以下版本,微信会信任用户提供的证书
安卓系统7.0以上:微信7.0以上版本,微信只信任系统及自身内置的证书

配合Proxifier

Bp配置好监听端口

之后在Proxifier设置Proxifier Server指向Bp的监听端口

1
2
127.0.0.1  8081
HTTPS

之后配置Profile –> Proxifucation Rule

1
2
3
微信
wechat.exe
Aciton: Proxy HTTPS 127.0.0.1

利用微信PC客户端代理

Bp配置好监听IP 端口,关掉监听模式

cmd --> ipconfig --> 网卡ip

网卡ip 8082

之后打开微信PC端,点击右上角齿轮配置代理

网卡ip 8082

配合雷电模拟器+Proxifier抓小程序包

通过模拟器抓包,要配证书,配证书要考虑微信及安卓内核版本,上面提到的

所以

微信 6.7.3 for Android

雷电模拟器64位纯净_4.0.51

雷电安卓5.1绿色版

rootexplorer

X浏览器

添加证书

把Bp证书安装到windows信任的系统

把Bp证书改成cer后缀

之后cer转为pem

openssl x509 -inform der -in burp.cer -out burp.pem

查看计算的hash值

openssl x509 -noout -subject_hash_old -in burp.pem

把证书写入计算出的 hash值.0

cat burp.pem > 9a5ba575.0

然后把证书9a5ba575.0 挪到 安卓的根证书文件夹

/system/etc/security/cacerts/

之后在 设置 –> 安全 –> 信任的凭据 –> 系统 里就可以看到Bp的证书(PortSwigger)

修改雷电模拟器代理

修改雷电模拟器Wifi

手动 --> ipconfig的ip 和 指定任意端口

配置Proxifier

之后在Proxifier设置Proxifier Server指向Bp的监听端口

1
2
127.0.0.1  指定的任意端口
HTTPS

之后配置Profile –> Proxifucation Rule

1
2
3
4
5
雷电模拟器

C:\Program Files\ldplayerbox\ldvboxheadless.exe

Aciton: Proxy HTTPS 127.0.0.1

Bp配置 127.0.0.1 和 指定监听端口

生成自己的证书

1
2
3
4
5
6
7
openssl genrsa -out key.pem 3072

openssl req -new -x509 -key key.pem -sha256 -config openssl.cnf -out cert.pem -days 730 -subj "/C=DE/ST=./L=./O=./OU=./CN=MiTM CA"

openssl pkcs12 -export -inkey key.pem -in cert.pem -out cert_and_key.pfx

把cert_and_key.pfx导入burp

抓包问题

因bp在转发包的时候会把https搞成http仅发一次,导致大量包在Proxifier延迟。。。

若加了直连host,关键的https包见不到。。。 遂只能改用Charles+Proxifier

Charles

1
2
3
4
5
6
7
8
9
Proxy --> Proxy Settings --> Proxies 设置监听端口,✓ Enable transparent HTTP proxying

Proxy --> Proxy Settings --> Enable Windows proxy 关闭监听windows代理,因为用了Proxifier,只监听Proxifier的

Proxy --> SSL Proxying Settings --> add --> host:* Prot:443 代理所有https

Help --> SSL Proxying --> install charles根证书

Help --> SSL Proxying --> 保存charles根证书

欢迎关注我的其它发布渠道