免责声明:
此文章仅用于学习研究使用,请勿用于违法犯罪,请遵守《网络安全法》等相关法律法规。

Burpsuite认识与使用

基本配置与使用

配置字体大小

image-20210531224552928

配置浏览器代理

先配置浏览器代理,这里以火狐浏览器为例

image-20210531225400399

配置burp中的代理,默认是127.0.0.1:8080,这里要与浏览器代理配置一致

image-20210531225627162

拦截https请求

在浏览器中安装Burpsuite CA证书

在浏览器中输入http://burp,安装ca证书

image-20210630210938277

image-20210630211115270

打开该文件,点击安装证书

image-20210630211518248

验证:浏览器设置代理的情况下可以正常访问https即可

证书安装好后burp即可正常拦截https请求

Proxy模块

Burp Proxy是BurpSuite以用户驱动测试流程功能的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据

image-20210702152048510

HTTP history介绍

HTTP history可以查看提交过的HTTP请求

Filter可以过滤显示某些HTTP请求,点击Filter即可打开。对于制定URL可以选中右键点击,执行其他操作

image-20210702153328992

Options介绍

Options具有的功能:代理监听设置、截断客户端请求、截断服务器响应、截断WebSocket通信、服务端响应修改(绕过JS验证文件上传)、匹配与替换HTTP消息中的内容等

  1. 设置Proxy Listeners

通过Proxy Listeners来截断数据流量

image-20210702193129090

  1. 设置Intercept Client Requests

通过设置Intercept Client Requests可以根据相应条件来截断HTTP请求

image-20210702193944202

  1. 设置Intercept Server Response

通过设置Intercept Server Response来筛选出符合条件的HTTP相应

image-20210702195628976

  1. 设置截断Websocket通信以及修改Response的内容

image-20210702202819062

  1. 设置Match and Replace

通过设置Match and Replace可以匹配及修改HTTP请求和HTTP响应中的内容

image-20210702203503990

  1. 设置使用SSL/TLS连接到web服务器

老版Burp使用的是SSL连接,新版使用TLS连接

image-20210702204100103

  1. 杂项设置

通过杂项设置对应的请求头等信息

image-20210702205406860

Burpsuite抓取手机APP流量

WepAPP介绍

目前WebAPP(手机APP)的通信仍然使用HTTP协议进行对应的通信。可以通过Burp设置代理,然后手机设置网络代理,通过Burp截断手机APP流量

操作流程

Burp代理设置:

image-20210702213944288

将手机网络的代理设置为主机的ip地址,注意端口号与Burp保持一致

两边代理设置好后,Burp即可截取到手机的HTTP通信信息

Burpsuite截断剔除Javascript脚本

Javascript脚本可以用来进行上传文件验证。例:只有.jpg格式的文件才可以上传到服务器,若要上传其他格式的文件,则需要绕过JS文件验证

绕过流程(绕过后端js校验)

在Proxy模块的Option下的Response Modification中,勾选Remove all JavaScript

image-20210702221535748

在客户端点击上传后,Burp会截取到上传请求,将请求发送到Repeater模块进行验证

image-20210702223418474

image-20210702224127721

Target模块介绍

Target模块主要包含站点地图、目标域、Target工具三部分组成,用于帮助渗透测试人员更好地了解目标应用的整体状况、当前的工作涉及哪些目标域、分析可能存在的攻击面等信息

作用域Scope介绍

当我们对某个产品进行渗透测试时,可以通过域名或者主机名去限制拦截内容,这里的域名或主机名就是我们所说的作用域。例,只拦截login目录下所有的请求,此时就可以在此进行设置,作用域即目录。

image-20210717150016904

站点地图Sitemap介绍

Sitemap的左边为访问的URL,按照网站的层级和深度,以树形结构展示整个应用系统的结构和关联其他域的url情况。右边显示的是某一个url被访问的明细列表、共访问哪些url、请求和应答内容等。基于左边的树形结构,可以选择某个分支,对指定的路径进行扫描和抓取。

image-20210717152649588

可以通过站点地图分析其中页面的提交参数等

image-20210717153313268

image-20210717153733243

Spider模块介绍

Spider的功能主要使用于大型的应用系统测试,它能在很短的时间内帮助我们快速地了解系统结构和分布情况

新版本中已经去除了Spider模块,新版本可使用另一种方式代替

image-20210721174411458

image-20210721174648812

image-20210721174721204

image-20210721180723436

Scanner模块介绍

Scanner模块的功能主要是用于自动检测web系统的各种漏洞,对系统进行普通漏洞类型的渗透测试

新版本中已经去除了Scanner模块,新版本可使用另一种方式代替

image-20210723160257865

image-20210723160801827

image-20210723162955300

Intruder模块介绍

Intruder可以在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答。每一次请求中,Intruder通常会携带一个或多个有效攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据

image-20210723172716779

Intruder模块使用场景

1、标识符枚举(Web应用程序经常使用标识符来引用用户、资产等数据信息)

2、提取有用的数据(在某些情况下,不只是要简单地识别有效标识符,还要通过标识符提取一些其他的数据)

3、模糊测试(很多输入型的漏洞,如SQL注入、跨站点脚本和文件路径遍历可以通过请求参数提交各种测试字符串,并分期错误信息和其他异常情况,开对应用程序进行检测。由于应用程序的大小和复杂性,手动执行这个测试是一个耗时且繁琐的过程,此时可以通过设置Payload自动化对Web应用程序进行模糊测试)

Intruder模块使用方式

例:使用Intruder枚举课程信息

image-20210723174811961

1、设置代理,开启Burpsuite截断需要测试的HTTP请求

image-20210723174930703

2、将截断的请求发送到Intruder模块,设置Payload测试

image-20210723175039680

image-20210723175426904

image-20210723175704814

image-20210723180345167

3、筛选Intruder结果,选取有用信息

image-20210723180713491

例2:暴力破解用户密码

1、用户名已知,密码未知

Burp开启截断后,在登陆页面点击登录,Burp会截断请求

image-20210724142457369

image-20210723192702808

image-20210723192950236

image-20210723193343087

image-20210723193612032

2、用户名未知,密码未知

用户名密码都未知则需使用集束炸弹

image-20210723194422130

image-20210723194558546

image-20210723194658888

image-20210723195035758

补充:有user_token情况下的一种破解思路(基于DVWA的high模式)

image-20210724144909568

线程数设置为1,因需获取响应中的user_token,线程>1会报错

image-20210724145221680

获取响应中的token

image-20210724145607777

配置Payload

image-20210724145824809

image-20210724150101426

目录扫描

利用Intruder不断进行枚举,然后对相应状态码筛选

1、将截取的网站首页发送到Intruder

image-20210723223520562

2、将目录设置为变量

image-20210723223742387

3、配置Payloads

image-20210723224043689

image-20210723224345013

sql测试

可以利用Burp pro高级版中的Fuzzing判断是否存在sql注入(社区版无法使用)

首先Burp拦截网页,将网页发送到Intruder模块进行测试

image-20210725180101217

image-20210725180350353

image-20210725183613167

根据长度及内置浏览器预览可以大致判断哪些可能存在SQL注入

image-20210725183843225

image-20210725184013811

Intruder模块Position介绍

针对HTTP某个位置或某几个位置进行模糊测试,需要选择不同的位置与Attack Type

image-20210724135145880

Attack Type可选项:

  • Sniper 狙击枪模式,只针对一个位置进行探测
  • Battering ram 攻城锤模式,针对多个位置使用一个Payload
  • Pitchfork 单叉模式,针对多个位置使用不同的多个Payload,单独组合
  • Cluster Bomb 集束炸弹模式,针对多个位置,全部组合

Intruder模块Option介绍

可以设置Request请求内容和Request引擎,以及针对结果进行设置(存储请求或结果等)

image-20210724141249800

标出符合特定表达式的结果

image-20210724141547748

从响应结果中抓取出有用信息(例如可以找到user_token)

image-20210724141804230

Repeater模块介绍

Burp Repeater是一款手工验证HTTP消息的测试工具,通常用于多次重放请求响应和手工修改请求消息后对服务器响应的消息分析

image-20210724161534964

Sequencer模块介绍

Burp Sequencer是一款用于检测数据样本随机性质量的工具,通常用于检测访问令牌和密码重置令牌是否可以预测等场景。通过Sequencer的数据样本分析,能很好地降低关键数据被伪造的风险

例:对DVWA中的环境进行分析

image-20210724200806276

image-20210724201015529

image-20210724201427267

开始后,将会不断发送数据包获取Cookie,以验证是否可伪造,并得出分析结果

image-20210724203712748

Decoder模块介绍

Decoder可以用于对字符串进行加解密的操作

image-20210724205119575

Comparer模块介绍

Comparer模块可以针对两个不同的HTTP请求进行比较

首先将不同的数据包发送到Comparer模块,然后点击Words或Bytes进行比较

image-20210724210644411

查看比较结果

image-20210724210806417

最后修改:2021 年 08 月 03 日 02 : 05 PM
如果觉得我的文章对你有用,请随意赞赏