2.2. captcha-killer-modified的使用
Burp Suite 是一个广泛使用的 Web 安全测试工具,其中 Intruder 模块是其最重要的功能之一,专门用于进行自动化爆破攻击、字典攻击等类型的攻击操作。Intruder 模块允许安全测试人员模拟不同的攻击场景,通过强大的爆破功能发现潜在的漏洞和弱点。本章节将详细介绍 Burp Suite Intruder 模块的主要功能和配置项,包括攻击目标、有效负载位置、有效载荷、资源池和选项等核心概念。
一、暴力破解-Intruder
1.1. 攻击目标(Target)
在进行任何类型的爆破攻击之前,首先需要指定攻击的目标。攻击目标是指您希望进行测试的 URL 或 Web 应用程序的资源。在 Target 选项卡中,您需要输入目标的 URL 地址,以及定义需要进行爆破的请求类型(如 GET、POST 等)。攻击目标的正确设置是确保攻击顺利进行的关键。
配置步骤:
-
在 Target 标签中,选择您希望攻击的请求。
-
确定该请求中需要进行爆破的参数(如用户名、密码字段等)。
1.2. 有效负载位置(Positions)
在 Intruder 模块中,Positions 是指您想要修改并进行爆破的请求字段。您可以在请求中选择一个或多个位置,这些位置将作为攻击的关键部分进行修改。Burp Suite 会自动标记请求中的参数,并允许您手动选择需要爆破的部分。
配置步骤:
-
选择攻击目标请求后,点击 “Positions” 标签。
-
选择您想要修改的参数,并确保它们被标记为爆破位置(通过
§
符号标记)。 -
可以删除不需要爆破的参数,或者添加更多需要爆破的参数。
1.2.1. 狙击手 (Sniper)
工作原理:
-
狙击手模式是针对 单个位置 进行爆破攻击。它会集中所有的攻击载荷(Payloads)对某一个单独的位置进行穷举,而其他的位置保持不变。
-
这种模式非常适合针对 单个字段(如用户名、密码等)进行密码爆破,或单独测试某个具体的输入字段。
适用场景:
-
单一字段的爆破,例如登录页面的用户名或密码字段。
-
适用于爆破一个位置的各种不同输入值,同时保持其它字段不变。
配置方式:
-
在 "Positions" 标签页中,选择一个参数作为爆破位置。
-
配置载荷并选择 Sniper 作为攻击策略,其他位置保持默认。
1.2.2. 破城槌 (Battering ram)
工作原理:
-
破城槌模式会将相同的有效载荷(Payloads)同时应用到所有的爆破位置。每个位置都会被分配相同的载荷值,而这些载荷是同步进行的。
-
这种模式适用于所有目标字段都使用相同的值的情况。它会逐步尝试所有载荷,但每个载荷值在所有位置上都是一致的。
适用场景:
-
当需要在多个位置使用相同的载荷值进行测试时,例如多个表单字段都需要使用相同的输入值。
-
适合测试字段之间相互独立的场景。
配置方式:
-
在 "Positions" 标签页中,选择多个参数作为爆破位置。
-
配置载荷并选择 Battering ram 作为攻击策略。
1.2.3. 音叉 (Pitchfork)
工作原理:
-
音叉模式会为每个爆破位置使用不同的有效载荷(Payloads)。每个位置会从不同的载荷集合中获得一个不同的值。也就是说,多个字段会分别使用各自的不同载荷值进行穷举。
-
它的特点是每个位置都会并行处理来自不同载荷集合的值,所有位置的爆破是独立的。
适用场景:
-
当多个字段需要分别使用不同的有效载荷值时。例如,用户名和密码字段使用不同的字典或规则进行爆破。
-
适用于那些需要多个不同输入组合的攻击场景,如暴力破解用户名和密码。
配置方式:
-
在 "Positions" 标签页中,选择多个需要爆破的位置。
-
配置不同的载荷集并选择 Pitchfork 作为攻击策略。
1.2.4. 集束炸弹 (Clusterbomb)
工作原理:
-
集束炸弹模式会对每个位置进行 组合爆破。每个爆破位置的载荷值是从一个预先定义的载荷集合中选择的。它会尝试 所有位置的所有组合,并对每一种组合进行穷举攻击。
-
每个爆破位置可以有多个不同的载荷值,所有可能的载荷组合都会被逐一尝试。
适用场景:
-
适用于需要 多参数组合 的情况,比如一个表单有多个参数,而且每个参数都有不同的有效载荷集合,您想测试这些参数的所有组合。
-
常见于多字段登录验证、验证码破译或多条件验证等场景。
配置方式:
-
在 "Positions" 标签页中,选择多个参数并为每个参数配置不同的有效载荷。
-
选择 Clusterbomb 作为攻击策略,Burp Suite 会自动尝试所有的载荷组合。
1.3. 有效载荷(Payloads)
Payloads 是指您提供给 Intruder 模块的实际数据集,用于对爆破位置进行攻击。Burp Suite 支持多种不同类型的有效载荷,您可以根据需要选择不同的字典、数值、字符集等。有效载荷的选择直接影响攻击的效率和效果。
配置步骤:
-
在 “Payloads” 标签中,选择爆破的位置对应的有效载荷类型。
-
可以选择内置的字典、手动指定字典文件,或者选择特定的负载类型(如递增数字、字符集等)。
-
还可以设置每个位置使用不同的载荷,这有助于针对多个参数进行爆破。
1.4. 资源池(Resource Pool)
资源池(Resource Pool) 是一个管理和控制爆破任务的工具,旨在控制同时进行的线程数,避免过多并发请求导致的系统负载过高或被目标网站屏蔽。合理配置资源池可以帮助您在高效进行爆破的同时,避免对目标服务器造成过大压力。
配置步骤:
-
在 “Options” 标签中,调整最大线程数(即并发请求数),以控制资源池的大小。
-
设置适当的超时和延迟值,避免被目标站点识别为恶意活动。
-
配置合理的资源池参数,以达到平衡效率与稳定性的目标。
1.5. 选项(Options)
Options 标签页允许您进一步调整 Intruder 模块的各种高级设置。通过设置不同的选项,您可以优化攻击的执行,控制请求的行为和反应,确保攻击更加定向和高效。
配置步骤:
-
在 “Options” 标签中,您可以设置 HTTP 请求的自定义头部信息、代理设置、重试次数、请求延迟等。
-
设置对失败请求的处理方式,如设置响应超时、错误码判断等。
-
您还可以启用或禁用负载的编码或解码选项。
二、验证码识别
在上面我们讲到了爆破模块的功能点,在本文的后半段,我会通过对验证码识别进行密码爆破,让你更直观的感受到暴力破解-Intruder的作用。
这里我们会用到Burp Suite插件 captcha-killer-modified来进行验证码的识别。
2.1. 安装插件
点击Extender插件管理,添加Burp扩展=》选择captcha-killer-modified的jar包=》下一步就安装完成了
2.2. captcha-killer-modified的使用
这时候栏目里面就会出现captcha-killer-modified,这就是验证码识别Burp扩展插件。
我们使用靶场来演示,Burp开启拦截然后右键访问验证码
拦截正确的数据包发送给captcha-killer-modified
选择启用该插件,并却获取,你就会发现captcha-killer-modified显示了这个验证码的图片。
启动好python脚本。
-
pip install requirement.txt
-
python codereg.py
选择模板,这个根据验证码的回显来进行并不是越复杂越好,如果验证码过于简单纯数字的那种你选个严格的过滤,很容易误判。这里我判断就选(大写英文-整数0-9)
点击获取然后点击识别,非常的完美,当然这个插件使用的免费接口会出现误报的情况。
2.3. 使用Intruder暴力破解进行密码爆破
抓一个登录包发送给Intruder测试器。
先点击清除所有负载,然后左键框选点击添加,先添加密码位置然后框选验证码。
模式选择音叉
载荷1就是密码部分载入任意密码字典
然后负载2,将有效载荷类型选择通过扩展生成,然后选择captcha-killer-modified
新建一个资源池,限制发包速度,每次只发一个数据包,然后开始攻击。
密码爆破成功和失败对比
结语
Burp Suite 的 Intruder 模块是进行自动化渗透测试和爆破攻击的强大工具。通过对攻击目标、有效负载位置、有效载荷、资源池和选项等参数的细致配置,您可以灵活地执行各种爆破攻击,帮助您发现 Web 应用中的潜在漏洞。熟练掌握 Intruder 模块的使用,能够有效提高您的渗透测试效率和准确性,为提升 Web 安全防护提供有力支持。
标签:载荷,爆破,攻击,位置,验证码,BurpSuite,Intruder,暴力破解 From: https://blog.csdn.net/2201_75446043/article/details/144463300