1 BurpSuite介绍及安装
- 介绍:
Burp Suite是一个综合性的渗透测试工具,集成了多种组件,能够自动化或手动进行Web应用的渗透测试和攻击。在渗透测试中,使用Burp Suite可以显著提高效率,加速发现SQL注入和XSS等漏洞
- BurpSuite安装:
可以先尝试一下CSDN里的教程,看看是否可以安装成功
网址:BurpSuite超详细安装教程-功能概述-配置-使用教程—(附下载链接)
在使用上面的教程中我出现了运行不了的问题,所以我自己在淘宝上购买了一体安装不需要配置的软件,需要的可以去淘宝搜索三墨软件,下面是具体的安装流程,十分简单:
Burpsuite下载软件安装包
解压后打开并点击BurpSuiteProChs-x64_v2023_10_2_3(安装软件).exe,可以查看里面的安装教程
选择安装路径
打开安装burpsuit的位置,并点击BurpLoaderKeygen.exe
打开BurpSuitePro.exe后选择本地激活方式,然后将Activation Request框中的内容复制到注册器中,最后将注册器中的Activation Response的内容复制到BurpSuitePro中,由于我已经激活完毕所以就不展示过程图,结果如下:
2 使用Burp Suite拦截HTTP流量
Burp 代理允许您拦截 Burp 浏览器和目标服务器之间发送的 HTTP 请求和响应。这使您能够研究当您执行不同操作时网站的行为方式
- 第一步:启动Burp浏览器
转到 代理 > 拦截 选项卡
单击 “拦截已关闭” 按钮,将其切换为 “拦截已打开”
单击 打开浏览器 ,这将启动Burp浏览器,该浏览器已预先配置为开箱即用
-
第二步:拦截请求
使用 Burp 的浏览器,尝试访问 https://portswigger.net 并观察到该网站未加载。 Burp Proxy 在浏览器发出的 HTTP 请求到达服务器之前拦截了该请求。您可以在“代理”>“拦截”选项卡上看到此拦截的请求
-
第三步:转发请求
单击 转发 按钮几次以发送拦截的请求以及任何后续请求,直到页面加载到 Burp 的浏览器中
-
第四步:关闭拦截
由于浏览器通常发送的请求数量众多,通常不希望拦截每一个请求。单击“拦截已打开”按钮,现在显示“拦截已关闭”
返回浏览器并确认您现在可以正常与该网站交互
-
第五步:查看历史记录
在 Burp 中,转到 代理 > HTTP 历史记录 选项卡,在这里可以看到通过 Burp 代理的所有 HTTP 流量的历史记录,即使拦截已关闭
单击历史记录中的任意条目可查看原始 HTTP 请求以及来自服务器的相应响应
3 使用Burp Suite修改HTTP请求
在这一部分学习中,可以通过修改Burp Proxy中拦截的请求,能够以网页不期望的方式操纵请求。而测试使用的网站为 portswigger.net
- 在进行操作前,先前往目标网站注册一个账号,确保对于网站有完全的访问权限
登录 https://portswigger.net/ 注册账户
- 第一步:在Burp浏览器中访问存在漏洞的网站
在 Burp 中,转到 代理>拦截 选项卡并确保拦截已关闭
启动 Burp 的浏览器并使用它访问以下 URL:
https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-excessive-trust-in-client-side-controls
页面加载后,单击 访问实验室 ,如果出现提示,检查一下是否处于登陆状态。几秒钟后,将看到自己的虚假购物网站实例
- 第二步:登陆你的购物账户
在购物网站上,单击我的帐户并使用以下凭据登录:
用户名:wiener
密码:peter
请注意,登陆上去之后只有 100 美元的商店积分
- 第三步:找到要买的东西
单击主页返回主页。选择该选项可查看轻质“l33t”皮夹克的产品详细信息
- 第四步:研究添加到购物车功能
在Burp中,转到 代理 > 拦截 选项卡并打开拦截;在浏览器中,将皮夹克添加到购物车以拦截生成的 POST /cart 请求
注意:如果浏览器在后台执行其他操作,您最初可能会在 代理 > 拦截 选项卡上看到不同的请求。在这种情况下,只需单击 转发 ,直到看到 POST /cart 请求,如上面的屏幕截图所示
研究截获的请求,注意主体中有一个名为 的参数,它与商品的价格(以美分为单位)相匹配
- 第五步:修改请求
将price参数的值更改为1,然后单击 转发 将修改后的请求发送到服务器,查看购物车内的价格(记得先关闭拦截)
- 第六步:利用漏洞
单击 下订单 按钮,以极其合理的价格购买夹克
4 设定目标范围
在这一部分中将学习如何在Burp Suite中共设置工作的目标范围,有助于准确地告诉Burp测试哪些URL和主机,这能够过滤掉浏览器和其他网站生成的其他信息
- 要进行这一部分的学习,依旧需要在 portswigger.net 网页上拥有一个账户
- 第一步:启动Burp浏览器
启动 Burp 的浏览器并使用它访问以下 URL:
https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-in-error-messages
页面加载后,单击 访问实验室 ,如果出现提示,检查一下是否处于登陆状态。几秒钟后,将看到自己的虚假购物网站实例
- 第二步:浏览目标站点
在浏览器中,通过单击几个产品页面来浏览该网站
- 第三步:研究HTTP历史记录
在Burp中,转到 代理 > HTTP历史记录 选项卡,为了使其更易于阅读,请继续单击最左侧列的标题 (#),直到请求按降序排序,这样就可以在顶部看到最新的请求
- 第四步:设定目标范围
转至 目标 > 站点地图,在左侧面板中,您可以看到浏览器与之交互的主机列表。右键单击目标站点的节点,然后单击添加到范围。当弹出窗口出现提示时,单击“确定”以排除超出范围的流量
- 第五步:过滤HTTP历史记录
单击 代理 > HTTP历史记录 下方的 过滤器 ,然后选择 仅显示范围内的项目
如果继续浏览目标站点,超出范围的流量不再记录在站点地图或代理历史记录中,为下面部分的学习做准备
5 使用Burp Repeater重新发出请求
在本部分的学习中,将使用Burp Repeater发送请求,这可以研究目标网站对不同输入的响应,而不必每次都拦截请求
- 要进行这一部分的学习,依旧需要在 portswigger.net 网页上拥有一个账户
- 第一步:确定目标请求
在上一个部分的学习中浏览了一个虚假的购物网站,可以注意到每次访问产品页面时,浏览器都会发送带有 ProductId 查询参数的 GET /product 请求
- 第二步:将请求发送到Burp Repeater
右键单击任何 GET /product?productId=[…] 请求,然后选择 发送到Repeater
转至 中继器 选项卡,查看所选择的请求正在其中
- 第三步:使用不同的输入重新发送请求
更改productId参数中的数字并重新发送请求
- 第四步:查看请求历史记录
使用 箭头 来回浏览发送的请求的历史记录及其匹配的响应,每个箭头旁边的下拉菜单还可以让跳转到 历史记录 中的特定请求
- 第五步:尝试发送意外输入
服务器似乎希望通过此productId 参数接收整数值,发送另一个请求,其中productId 是字符串
查看返回的响应可以发现里面包含了Apache Struts 框架和显示版本;在真实场景中此类信息可能对攻击者有用,尤其是在已知指定版本包含其他漏洞的情况下
将获取的服务器版本号输入到 Submit solution 中