ctfshow 爆破
第21-第22关
第21关
首先他给了我们一个字典,然后我们就可以根据他给的字典爆破
他的认证方式是这样的
首先我们抓包,抓的是用户名和密码那个界面的包
所以我们可以发现
在这里我们发现多了一行奇怪的东西
发现他是以admin:XXX的格式去显示的,我们后续准备爆破的时候需要记住这个格式。
准备开始爆破,在这里先对bp的intruder模块进行介绍
Payload position (载荷位置) :选择你需要爆破的位置
这里给了你几个选项,Add Clear Auto 分别是增加,清除和自动
bp选中方式是把你光标选中后的字符串包裹
比如你的光标在这里,我们添加以后就会遇到这种情况
他是成对的添加,所以我们需要爆破那一个字符串的话,我们就需要用光标选中那一串字符串
就像这样我们在添加的时候就会把这串字符串包裹上
Payload type (载荷类型):决定了数据的生成方式。图中当前选择的是 Simple list (简单列表),即手动或
导入一列字符串。Burp 还支持很多其他类型,比如 Numbers(数字递增)、Dates(日期生成)、Brute
forcer(字符组合爆破)等
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Simple list (简单列表):最基础也最常用的类型。你可以手动输入、粘贴或者从电脑导入一个文本文件(如
密码本)作为字典,Burp 会逐行读取并发送。
Runtime file (运行时文件):与 Simple list 类似,也是读取文件。但它是在攻击进行时逐行实时读取硬盘
上的文件,而不是一开始就把整个文件加载到内存里。非常适合读取几个 GB 的超大字典文件,能有效防
止 Burp 内存溢出卡死。
Numbers (数字):自动生成数字序列。你可以设置起始值、结束值、递增步长(比如从 1 到 1000,每次
加 1),还可以设置数字的格式(比如前缀补零 001, 002...)。常用于爆破订单号、验证码、ID 遍历等。
Dates (日期):生成日期序列。你可以指定日期的格式(如 yyyy-MM-dd)和时间跨度。常用于测试按日
期查询的接口或找回特定日期的历史记录。
组合与变形测试
Custom iterator (自定义迭代器):允许你将多个基础列表拼接到一起。比如,列表 1 是“颜色”,列表 2
是“衣服”,列表 3 是“尺码”,它会自动帮你组合出诸如 Red-Shirt-XL 这样的数据。
Character substitution (字符替换):根据你预设的规则替换基础词汇中的字符。例如著名的“黑客语
(Leet Speak)”,把 a 换成 @,e 换成 3,i 换成 1。用于密码变种爆破。
Case modification (大小写修改):自动对基础单词进行大小写转换。例如输入 admin,它会生成 Admin,
ADMIN, aDmIn 等组合。
Username generator (用户名生成器):你输入一些全名或邮箱(如 John Smith),它会根据欧美常见规
则自动生成各种用户名组合,如 jsmith, john.smith, smithj 等。
Payload count / Request count:只读的统计信息。它会根据你的配置实时计算当前有多少个有效载荷,
以及最终组合起来会发出多少个 HTTP 请求。1
2
3
4
5
6
7
8
9
10
11
12Payload configuration (载荷配置)
因为上面类型选择了 "Simple list",这里显示的便是如何向这个“简单列表”中添加数据的操作区。
右侧的大黑框:这就是你的 Payload 列表,当前是空的。
Paste (粘贴):直接将剪贴板里的多行文本粘贴到列表中(每行作为一个独立的 Payload)。
Load... (加载):从你的电脑本地选择一个 .txt 字典文件,将其内容导入列表。
Remove (移除) / Clear (清空):删除你在右侧列表中选中的某几项,或者一键清空整个列表。
Deduplicate (去重):自动扫描整个列表,删除重复的字符串,这样可以避免发送完全相同的无效请求,节
省测试时间。
Add (添加) 与 输入框 (Enter a new item):在输入框中手动输入你想要测试的字符串,然后点击 Add 按
钮(或直接回车),将其加入列表。
Add from list... (从内置列表添加):这是一个下拉菜单,Burp 官方内置了一些常用的基础字典(例如常见
用户名、密码、短目录名等),方便你快速调用。1
2
3
4
5
6
7
8
9Payload processing (载荷处理)
这个模块非常强大,它允许你定义一套规则,在 Payload 被实际插入到 HTTP 请求发出去 之前,对其进行
自动化的加工处理。
使用逻辑:你可以点击 Add (添加) 来增加处理规则。常见的规则包括:在字符串前后拼接特定字符(Add
prefix/suffix)、进行哈希计算(Hash)、Base64 编码/解码、或者使用正则表达式替换掉某些内容等。
执行顺序:添加到框内的规则会自上而下依次执行。你可以选中某条规则,通过 Up (向上) 和 Down (向
下) 按钮调整它们的处理顺序。
Edit (编辑) / Remove (移除):用于修改或删除已添加的处理规则。
在我们这一题,就需要把格式给base64以后去爆破,所以会用到这个模块1
2
3
4
5
6
7
8
9Payload encoding (载荷编码)
为了确保你的 Payload 在放入 HTTP 请求发送给服务器时,不会破坏 HTTP 协议本身的结构,通常需要进
行 URL 编码。
URL-encode these characters (勾选项):启用后,Burp 会在最终发送请求的最后一刻,对 Payload 中包
含的特定字符进行 URL 编码。
右侧的字符框:图中默认填写了 .\/=<>&+*;:"{}|^# 等字符。因为这些字符(如 & 和 =)在 HTTP 请求体
或 URL 中有特殊的语法含义,如果不进行编码(例如把 & 变成 %26),服务器可能会解析错误,导致你
的 Payload 无法完整地到达目标代码中。你可以根据需要在此处增加或删除需要转义的字符。
在这一题目里也不能使用,因为base64里的等号会被变成url编码

















