渗透测试神器之burpsuite
1、功能简介
Burpsuite是网络安全人员常用的渗透测试软件之一.
Burp Suite 是用于攻击web 应用程序的集成平台,是一个代理工具,也是中间人工具。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。
官网:https://portswigger.net/burp
Burpsuite 工作原理:
浏览器或者应用将流量发送到burpsuite工具,流量数据经过bp工具的一系列修改,在将流量发送到网站,bp工具在这期间相当于中间人,数据的请求与响应都会经过burpsuite。

模块简介
- Proxy:是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
- Spider:是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
- Scanner[仅限专业版]:——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。
- Intruder:是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
- Repeater:是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。
- Sequencer:是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
- Decoder:是一个进行手动执行或对应用程序数据者智能解码编码的工具。
- Comparer: 是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的 "差异"。
2、burpsuite 应用场景
- http服务器接口测试
- http客户端和http服务器通信测试
- cookie统计分析
- http服务器web扫描
- web页面爬取
- web常用编码和解码
- 字符串编码和解码
- 文件差异对比
3、proxy 功能模块详解
1、代理功能页面
2、请求拦截
Intercept 在on 状态,网站发起的请求会被bp拦截,只有点击 intercept 在 off 状态,请求会放行,在on状态时,RAW栏的数据可以被修改发送给DVWA
有以下几个操作:
- Forward:继续转发,一步一个请求
- Drop:丢弃本次操作
- Action:可以把本次的请求发送给bp的其他模块去做处理
3、返回拦截
这个功能默认不开,可以在settings 打开
4、数据对比
选择两个要对比的请求,发送到 comparer
点击comparer,可以选择words对比
5、设置请求与拦截的过滤
6、端口监听
4、repeater功能详解
手工验证http消息工具,通常用于多次重放请求响应和手工修改请求消息,修改后对服务端响应的消息分析
将本次login请求发送到 repeater 攻击模块
可以修改参数将修改后的请求发送给 服务端
5、intruder功能模块
在渗透测试的过程中,经常使用 intruder模块,他的工作原理是:intruder在原始的请求及基础上,通过修各种请求参数,以获取不同的请求应答。每一次请求中,intruder通常会携带一个或多个有效攻击载荷(pyload),在不同的位置进行攻击重放,通过应答的数据包的比对分析来获取需要的特征数据。
1、场景
- 标识符枚举web应用程序,可以使用标识符来引用用户、账户、资产等数据信息
- 提取有用的数据,在某些场景下,可以通过简单标识符提取一些其他的数据
- 模糊测试,很多输入型的漏洞,如sql注入、跨站点和文件路径遍历,可以通过请求参数提交各种测试字符串,分析错误消息和其他异常情况,来对应用程序进行异常检测。由于应用程序的大小和复杂性,手动执行这个测试是一个耗时且繁琐的过程。这样的场景,可以设置payload,通过 intruder模块自动化的对web应用程序进行模糊测试
2、intruder 模块使用步骤
3、配置单介绍
- target选项卡:设置攻击目标,可以通过target发送
-
positions选项卡:指定暴力破解参数并设置变量,同时选择攻击模式
- sniper:狙击手,设置一个payload,先将第一个变量使用字典进行测试,然后将第二个变量使用字典进行测试
- Battering ram:冲撞车,设置一个payload,所有的变量一起用字典内容进行替换,然后一起尝试
- ptickfork:草叉型,每个变量设置一个payload,分别使用对应的字典对变量进行同时替换
- Cluster bomb:焦束炸弹,需要为每个变量设置一个payload,分别使用字典内容组合对变量进行替换
- payloads选项卡:设置字典,并对字典进行统一策略处理
-
Resource pool 及 options 选项卡:
- 对扫描的线程、失败重试进行配置
- 对结果设置flag:通过一个标识符来区别结果,并在结果栏中flag出来
3、示例
1、枚举网站目录
https://edu.51cto.com/topic/6.html
截断代理,把请求发送诶intruder模块
标注数字,然后点击 Add $,添加一个变量
点击 payloads,设置数字类型的载荷,然后点击右上角 start attack
如果是枚举其他的目录,pyload type 选择 runtime file,加载字典即可
2、暴力破解用户名密码
https://blog.csdn.net/qq_45705626/article/details/127709037
针对用户名和密码破解,可以有以下方式:
- 已知用户名,未知密码
- 用户名和密码都未知
- 已知密码,未知用户名
- 用户名和密码都一样
可以用 intruder 模块进行破解
1、已知用户名,未知密码
使用 burte force 这个模块,添加截断
将请求发送到 intruder
先点击 clear 清空不用的变量,在点击password的数字,add变量
Attack type 攻击类型有四种
- Sniper 狙击枪模式:只针对一个位置进行探测,针对已知用户名,未知密码。
- Battering ram 攻城锤模式:针对多个位置使用同一个Payload,这种模式主要用于用户名和密码相同的情况,不同位置需要相同Payload的情况
- Pitchfork 单叉模式:针对多个位置使用不同的多个Payload。
- Cluster Bomb 激素炮模式:针对多个位置,全部组合,针对未知用户名,未知密码
这里选择 sniper模式
攻击载荷类型为 runtime file,添加一个密码字典文件,开始攻击
查看结果
2、未知用户名,未知密码
将请求截断,发送到 intruder 模块,attack type 选择 cluster bomb,
先清空所有变量,然后添加用户名密码两个变量
分别为 1号载荷和2号载荷设置 遍历文件,然后开始攻击
3、已知密码,未知用户名
这个思路和第一种一样,把用户名设置为变量即可
给用户名指定爆破文件
爆破成功
4、爆破 base64加密认证
截断登录请求,把请求发送到 intruder 模块
Attack type 选择狙击枪,将密钥部分添加为变量
Pyload type 选择为 custom iterator
Position 选择三次
Position 1 :加载用户名文件
Position 2:add :
Posttion 3:加载密码文件
攻击 ase64
取消勾选 puload encoding
开始爆破
爆破成功后,将base64-encode 编码的密文发送到 decoder 解密

浙公网安备 33010602011771号