漏洞扫描器可以快速帮助我们发现漏洞,但对于一些漏洞,自动化软件无法识别。比如一些逻辑性漏洞,及其隐蔽的 XSS 漏洞或者 SQL 注入漏洞。进行漏扫时,必须与人工渗透相结合。漏洞扫描也属于信息探测的一种。
本节介绍 Burp Suite Proxy 之外的其他模块。
1. Target
Target 模块是站点地图。该模块最主要的功能是显示信息。如:它默认记录浏览器访问的所有页面,且使用 Spider 模块扫描后,可以在此模块清晰看到爬虫所爬行的页面及每个页面的请求头以及响应信息。
1.1 Site Map
左侧是一个树状结构,右侧是具体的请求/响应内容。
-
层级结构:
Burp 会自动根据域名、目录、文件结构,访问过的所有 URL 整理成一棵树。比如
google.com和baidu.com会分开显示。 -
黑字 vs 灰字:
-
黑色字体: 代表你已经实际访问过(发送过请求)的页面。
-
灰色字体: 代表 Burp 在页面源码里发现了这个链接,但还没有点进去(即尚未请求)。这对于发现隐藏接口非常有帮。
-
-
被动爬取:
只要流量经过 Burp Proxy,Target 就会自动把新的 URL 添加到这张地图里。
1.2 Scope
-
最快的方法(推荐):
在 Site Map 左侧列表中,找到要测试的目标域名,右键点击,选择 “Add to scope”。
-
高级设置:
点击顶部的 Scope 选项卡,可以用正则表达式来精细控制,比如“只允许
www.target.com,排除www.target.com/logout”。
设置好 Scope 后,可以去 Filter ,勾选 “Show only in-scope items”。
1.3 Issues
- 它列出了 Burp Scanner 能扫描到的所有漏洞类型(如 SQL 注入、XSS)。
1.4 工作流
-
收集资产:
打开浏览器,挂上 Burp,在目标网站上随便点击、浏览、把所有功能都试一遍。此时不拦截请求。
-
整理地图:
切回 Target -> Site Map。看到访问的所有路径。
-
划定范围:
右键点击目标域名 -> Add to scope。然后点击 Filter 栏,选择“Show only in-scope items”,把无关网站过滤掉。
-
手动分析:
展开目录树,寻找可疑的文件(比如灰色的
/admin/目录,或者带有参数的.php文件)。 -
发动攻击:
在感兴趣的节点上右键:
-
选 Send to Repeater:进行手动参数测试。
-
选 Send to Intruder:进行暴力破解。
-
选 Scan (仅限 Pro 版):让 Burp 自动扫描该目录下的漏洞。
-
2. Intruder
它的核心用途通常有两个:
-
暴力破解(如猜解账号密码)。
-
Fuzzing(模糊测试)(如批量测试 SQL 注入、遍历目录 ID)。
第一步:发送请求
首先,捕获一个感兴趣的请求(通常在 Proxy 或 Repeater 中)。
- 操作: 右键点击请求 -> 选择 Send to Intruder(快捷键
Ctrl + I)。
第二步:定位变量
进入 Intruder 标签页, Positions 选项卡。
-
Attack type: 选择 Sniper, Battering ram, Pitchfork, 或 Cluster bomb。
-
Payload Markers(载荷标记):
-
请求包里有一些被
§符号包裹的内容(例如username=§admin§)。 -
§中间的内容就是会被 Intruder 自动替换的部分。 -
先点击右侧的 Clear § 清除所有自动标记,然后用鼠标选中你想测试的参数(比如密码字段),点击 Add § 手动添加。
-
第三步:选择攻击模式
| 模式 | 解释与场景 |
|---|---|
| Sniper | 只有一个 Payload 列表。它会依次把字典里的词填入你标记的位置。如果你标记了两个位置,它会先测第一个,再测第二个。 场景: 猜解网站目录、Fuzzing 单一参数。 |
| Battering ram | 只有一个 Payload 列表。它会把同一个词同时填入所有标记的位置。 场景: 用户名和密码必须相同的测试。 |
| Pitchfork | 需要多个 Payload 列表。列表1的第1个词对应列表2的第1个词。一一对应。 场景: 你有一批泄露的“账号-密码”对,需要验证是否有效。 |
| Cluster bomb | 需要多个 Payload 列表。它会尝试所有可能的组合。 场景: 经典的账号密码爆破(如用 10 个账号配合 100 个弱密码,它会发 10x100=1000 个请求)。 |
第四步:设置 Payload
切换到 Payloads 选项卡,设置你要填进去的具体数据(字典)。
-
Payload set: 如果选了 Cluster bomb,这里要分别设置 Set 1(比如用户名)和 Set 2(比如密码)。
-
Payload type:
-
Simple list: 直接把字典粘贴进去,或者点击 Load 加载本地 txt 文件。
-
Numbers: 自动生成数字序列(如 1 到 10000)。适合遍历 ID。
-
Brute forcer: 自动生成
aaaa,aaab... 这种纯字符组合。
-
-
Payload processing: 对字符串(字典的每一行)可以进行加密、字符串截取、加入前缀、后缀等操作。
-
Payload encoding: 进行请求时,针对某些字符串进行 URL 转码
第五步:发起攻击与分析 (Start Attack)
配置好后,点击右上角的 Start attack。会弹出一个新窗口显示进度。
如何判断攻击是否成功:
-
Status(状态码): 都返回
200,突然有一个302(跳转),可能就是登录成功了。 -
Length(响应长度): 登录失败的页面通常是一样的(比如提示“密码错误”),所以它们的 Length 是一样的。如果发现有一条请求的 Length 和别的不一样(比如特别长或特别短),那它很可能就是正确密码!
3. 辅助模块
Burp Suite 一些轻量级小工具。
3.1 Decoder 解码器(编码器)
3.2 Comparer 比较器
字符串比较器,帮助发现两段字符串中的差异。
- 可以加载文本文件,也可以直接用
Send to Comparer发送到 Comparer 模块。
3.3 Repeater
HTTP 请求编辑工具,可以随意更改 HTTP 请求进行测试。发送请求后的响应会出现在 Response 区域。
3.4 解决中文乱码
Settings 搜索 font,HTTP message display 界面设置中文字体,如宋体。
3.5 回复默认选项
菜单栏 Burp -> User settings -> Restore defaults
3.6 使用插件
CO2 -- 包含 SQLMap 注入插件。