1 burpsuite简介

burpsuite作为web渗透较为常用的软件,有着9个比较常用的模块——proxy,target,intruder,comparer,repeater,decoder,extendere,sqlmap,csrf。下面将对这九个模块进行一一介绍

1.1 proxy

proxy代理模块是BurpSuite的核心功能,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改两个方向上的原始数据流,在proxy下有四个模块intercept,HTTP history,websockets history,options

1.1.1 子模块一:intercept

名称 功能
forward 用于发送数据。将当前拦截的包发出
drop 用于丢弃数据。将当前拦截的包丢弃
intercept is on/off 当为off状态,所有请求将被放走,当为on状态,所有请求将会被拦截
action 将拦截的包发送至其他模块

在下面有四个选项raw,param,headers,hex将从不同方面展示,分析数据包

1.1.2 子模块二:http history

记录所有经过代理服务器访问的所有请求

1.1.3 子模块三:options

该版块主要用于设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等。

名称 功能
Proxy Listeners 是侦听从您的浏览器传入的连接本地HTTP代理服务器。它允许您监视和拦截所有的请求和响应,并且位于BurpProxy的工作流的心脏。默认情况下,Burp默认监听12.0.0.1地址,端口8080。可自行添加更改删除
Intercept Client Requests 配置拦截规则,设置拦截的匹配规则。 当Intercept request based on the following rules为选中状态时,burpsuite会配置列表中的规则进行拦截或转发。比如有时候你只想抓取php脚本类型的数据包
   
   

burpsuite简介-编程知识网

1.2 target

1.2.1 sitemap

burpsuite简介-编程知识网

名称 功能
add to scope/spider this host 将url添加进爬虫范围,进行详细爬取
actively scan this host 主动扫描,主动发送payload
passively scan this host 被动扫描,分析流量
delete host/copy URLs in this host/copy links in this host 批量编辑站点地图,如批量删除/复制/链接选中站点

1.3 intruder

 Intruder 可以执行许多任务,合适的攻击类型取决于应用程序的情况,比如有目录遍历fuzz xss sqli,还有暴力破解等。。。

1.3.1 positions

burpsuite简介-编程知识网

攻击类型 作用
sniper

对标记变量依次进行爆破,对不同变量依次加载字典,先加载变量1,再加载变量2……

battering ram

可对多个变量同时破解,多个变量使用一个字典,多个变量为同一个值

pitchfork

每一个变量对应一个字典(不同于上面两种,上述两者都是一个字典)

cluster bomb

组合爆破,每个变量对应一个字典,并交集爆破(注意添加顺序)。例如对变量1字典有user1,user2,变量2字典有password1,password2,那么结果有{user1,password1},{user1,password2},{user2,password1},{user2,password2}四种

名称 作用
add 添加变量
clear 清除变量
auto 自动添加所有变量

1.3.2 intruder

payload类型名称 payload类型作用
simple list

简单字典

runtime file

运行文件

custom iterator

自定义迭代器

Character substitution 字符替换
Recursive grep 递归查找
lllegal unicode 非法字符
Character blocks 字符块
Numbers

数字组合

Dates 日期组合
Brute forcer 暴力破解
Null payloads 空payload
Username generator 用户名生成
copy other payload 复制其他payload
payload processing名称 payload processing作用
add prefix 添加一个文字前缀
add suffix 添加一个文字后缀
match/replace 将替换匹配特定正则表达式的有效载荷的任何部分,用一个文字字符串表示
substring 选取从字符串from位置开始,选取length长度的字符串,例如“password”from 1,length 2为“as"
reverse substrin选取g 倒序选取从字符串from位置开始,倒叙选取length长度的字符串,例如“password”from 1,length 2为“or"
modify case 里面有全大写,全小写,部分大写的选项,即将字符串更改为全大写,全小写或部分大写的情况
encode 使用不同的加密方式对字符串加密,将加密结果作为尝试变量
hash 对字符串做hash加密
add raw payload 对字符串进行重复,例如将”user”转变为“useruser"
skip if matches regex 将包含设定字符串的字符串删除,例如设定为”ss",那么“user”将会被留下而“password”会被删去

1.3.3 options

Request Engine名称 Request Engine作用
Number of threads

线程,该选项控制攻击请求的并发数。

Number of retries on network failure

网络故障的重试次数 。

Pause before retry 重试前等待时间,当重试失败的请求,Burp会等待指定的时间(以毫秒为单位),然后重试
Throttle between requests

请求之间的等待时间,Burp可以在每次请求之前等待一个指定的延迟(以毫秒为单位) 。此选项很有用,以避免超载应用程序,或者是更隐蔽。

Start time 开始时间,此选项允许您配置攻击立即启动,或在指定的延迟后,或开始处于暂停状态。
grep-match名称 grep-match作用
Match type

匹配类型,指定的表达式是否是简单的字符串或regular expressions(正则表达式)。

Case sensitive match 区分大小写的匹配,指定检查表达式是否应区分大小写。
Exclude HTTP headers 排除HTTP头,指定的HTTP响应头是否应被排除在检查。

1.4 repeater

Repeater是用于手动操作和发送个别HTTP请求,并分析应用程序的响应一个简单的工具。您可以发送一个内部请求从Burp任何地方到Repeater,修改请求并且发送。

repeater名称 repeater作用
update content-length 自动更新消息头中的Content-Length
Unpack gzip /deflate 解压压缩文件
Follow redirections 跳转控制,可以选择从不跳转、同一站点内跳转、Scope内跳转、始终跳转四种的其中之一
Process cookie in redirections 跳转的同时是否处理Cookie
View 主要控制Repeater面板整个布局

1.5 decoder

将原始数据转换成各种编码和哈希表的简单工具。它能够智能地识别多种编码格式采用启发式技术。

支持编码解码的类型有: 1. Url 2. HTML 3. Base64 4. ASCII码 5. Hex(十六进制)6. octal(八进制)7. binary(二进制)8. GZIP

1.6 comparer

Burp Comparer在Burp Suite中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别。应用场景可能是: 

1.枚举用户名过程中,对比分析登陆成功和失败时,服务器端反馈结果的区别。

2.使用 Intruder 进行攻击时,对于不同的服务器端响应,可以很快的分析出两次响应的区别在哪里。

3.进行SQL注入的盲注测试时,比较两次响应消息的差异,判断响应结果与注入条件的关联关系。

1.7 extender

Burp支持第三方拓展插件的功能,方便使用者编写自己的自定义插件或从插件商店中安装拓展插件。Burp扩展程序可以以多种方式支持自定义Burp的行为,例如:修改HTTP请求和响应,自定义UI,添加自定义扫描程序检查以及访问关键运行时信息,包括代理历史记录,目标站点地图和扫描程序问题

 

2  burpsuite使用

2.1 服务端检测绕过(MIME 类型检测)

先上传一个后缀名改为.jpg的php木马,使用burpsuite抓包,将包中文件类型更改为.php。

burpsuite简介-编程知识网

 burpsuite简介-编程知识网