三、Burp Suite 代理拦截工具
作者:互联网
最后编辑时间 :2021.06.15 ,如有错误之处欢迎批评指正。
前言
浏览器在访问站点时会提交 Request Header 信息( 网络相关链接 : request headers 和 response headers )
在前面的 SQLMap 渗透测试中,使用 SQLMap 工具在探测 Sqlilabs 靶场第 1 和 11 关时可以探测到其有漏洞,并可以拿到数据库里的数据 。
SQLMap 的框架结构为目录式,没有核心框架,可以直接通过 URL 到达特定的页面,探测时直接通过 -u 制造的 Request Header 与直接在浏览器里浏览时的产生的 Request Header 是一致的 ,此时只考虑了 URL 和 GET 、 POST 两种传参方式 。但实际上,Request Header 是站点服务器判断用户能否正常进入站点内部页面的一个重要参考信息。
DVWA 为框架式站点,站点服务器需要验证 Request Header 信息,不可直接通过 URL 到达特定的页面 。
当站点服务器需要验证 Request Header 信息时,使用 sqlmap -u
的形式很可能在初探时就失败 ,若没有正确的 Request Header 信息将无法进入站点内部,如 :被服务器 302 重定向到站点的登陆界面 ,无法到达探测页面 ,后续步骤无法进行 ,但这并不意味着此站点无法被注入 ,只是此方式无法进入 。
Burp Suite 代理工具可以拦截请求地址的 Request Header 并复用 ,然后使用 SQLMap 工具探测,从而达到进入站点内部页面的目的 。
Burp Suite 介绍
Burp Suite 代理工具是以拦截代理的方式拦截所有通过代理的网络流量( 主要是 HTTP 和 HTTPS 协议流量 )并以中间人的方式对拦截的流量进行处理,达到安全测试的目的。
Kali 中默认安装的 Burp Suite 为社区版(没有 Scanner) ,默认开启的本地代理端口为 8080(如下图所示)
网络相关链接
BurpSuite 基础教程_hualusiyu的专栏-CSDN博客
DVWA 实践
任务要求
- 从 Burp Suite 获取访问 DVWA Injection Low 的 Request Header
- 利用 ① 获取到的信息获取到对方的库表列值
- 将 Burp Suite 获取到的包导入 repeater 进行重放,并修改头部参数在右侧的 response 中查看不同的访问效果
- 利用 Burp Suite 对 DVWA Brute Force Low 口令部分进行爆破,用户名 :admin
Burp Suite 获取 Request Header
站点 :DVWA - SQL Injection ,难度级别 :Low
- 打开 Burp Suite ,将浏览器代理地址设置为 Burp Suite 的默认代理地址 :( 下图为 Firefox 浏览器的代理设置页面 )
-
在 SQL Injection 输入一个 ID 值,点击 Submit 后浏览器标签页有旋转等待图标 :
-
Burp Suite 如下界面得到 Request Header :
利用 Request Header 获取库表列值
-
将获取到的 Request Header 复制并保存到文件,使用 sqlmap -r 命令进行初探 :
-
获取 库 :
-
获取 表 :
-
获取 列 :
-
获取 值 :
Repeater 重放
将 Burp Suite 获取到的包导入 repeater 进行重放,并修改头部参数在右侧的 response 中查看不同的访问效果
下图为 id=3 时的访问效果 :
下图为 id=5 时的访问效果 :
Intruder 爆破
利用 Burp Suite 对 DVWA Brute Force Low 口令部分进行 Intruder 爆破,用户名 :admin
-
先停止 Burp Suite 代理,浏览器进入 Brute Force 页面,输入账户密码,开启 Burp Suite 代理,点击登录,发送数据 :
-
右键将抓取到的登录数据包导入到 Intruder
-
Intruder 默认自动高亮所有可以进行爆破的变量值,但爆破过程中一般只保留不确定的部分 ,此处仅要求对口令进行爆破,可以将其它不需要的变量值 Clear 取消高亮
下图中仅保留 password 值( 不包含 password 本身 ),且仅使用 Sniper 攻击类型
-
在 Intruder - Payloads 中选择进行爆破的字典 :(此处选择 Simple List)
Simple List 为自定义字典,可依次往里增加内容 ;Runtime List 为使用字典文件 ;
-
增加字典内容完毕后,点击页面右上角 Start attack 即可开启爆破,并得到爆破结果
一般的,服务器对错误值返回的数据都是一样的,数据长度也是一样的,相对于正确的信息返回的数据肯定不一样,所以那个不一样的长度值所对应的字典值可能就是正确的
如上图所示,字典值 password 返回的数据长度与其它值不同,点击 password 值,查询 Response - Render 可以清晰的看到已成功进入界面,爆破成功 。
Comparer 对比
- 右键选择两个字典值到 Comparer - Request 中 :
- 选择上图中上下各一个包 ,选对了右下角的 Words 和 Bytes 会亮起,点击即可查看对比 :
Decoder 自带加解密
Spider 蜘蛛
Spider 只能爬取站点目录结构,并不能爬取文件夹下具体的文件
- 开启爬虫 :
- 开启爬虫后,选择原先截获到的数据包,开启爬虫,将会按照 URL 结构进行目录结构的爬取 :
- 展开左侧对应的地址即可查看爬取到的目录树结构 :(灰色代表无法爬取下面的文件)
- 还可针对已爬取到的目录进行下一步爬取 :(右键 Spider this branch - Submit form)
实验现象总结
通过 Burp Suite 获取站点 Request Header 信息保存到文件,然后使用 sqlmap -r 命令进行探测的方法可以对需要验证 Request Header 的站点进行注入,从而获取服务器数据库信息 。
Burp Suite 代理拦截工具除了可以截获 Request Header 信息外,也可以复用 Request Header 进行 Repeater 重放,手工修改变量值尝试攻破,也可以使用 Intruder 字典进行自动化爆破提高效率 。
通过以上操作步骤,已达到实验目的 。
除本次实验中使用到的操作步骤外,还有 Comparer 对比 、Decoder 加解密 和 Spider 蜘蛛 等常用操作,熟练使用它们将会在未来的学习当中游刃有余 。
标签:获取,Request,站点,Header,Burp,Suite,拦截 来源: https://www.cnblogs.com/xiaoliancc/p/15472981.html