愛在花開的季節 发表于 2025-2-14 16:28:12

Burpsuite基础使用

Burpsuite使用教程

目标靶场 :pikachu
系统 :win11
(一)暴力破解

1.基于表单的暴力破解

什么是暴力破解?
Burte Force(暴力破解)概述
​            “暴力破解”是一攻击具手段,在web攻击中,一样平常会使用这种手段对应用系统的认证信息进行获取。            其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。            为了提高效率,暴力破解一样平常会使用带有字典的工具来进行自动化操作。
​            理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有充足强大的计算能力和时间,所以断定一个系统是否存在暴力破解毛病,其条件也不是绝对的。            我们说一个web应用系统存在暴力破解毛病,一样平常是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。            这里的认证安全策略, 包罗:
​            1.是否要求用户设置复杂的密码;
​            2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
​            3.是否对尝试登录的行为进行判定和限制(如:连续5次错误登录,进行账号锁定或IP地点锁定等);
​            4.是否采用了双因素认证;
​            ...等等。
​             千万不要小看暴力破解毛病,往往这种简单粗暴的攻击方式带来的结果是超出预期的!

​             你可以通过“BurteForce”对应的测试栏目,来进一步的相识该毛病。
<img alt="image-20240831162917986" >我们这里随便输入账户和密码
打开burpsuite抓包 将post请求发送到repeater
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094904823-108956716.png
可以看到我们的账号密码
在响应里面正常返回了一个200
认证因素也只有账号和密码 没有对应的验证码 可以根本上确认这个捏词可以进行暴力破解
将post请求发送到intrude
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094904382-1366525592.png
攻击选项里面有4种类型,这里简要说明一下
Sniper:逻辑是依次对我们设置的动态变量去更换 先把账号设置的变量更换完后在设置密码设置的变量
Battering ram :是同事把所有的动态变量都给替再进行重换
Pitchfork: 多出个payload每设置个几个动态变量都有几个payload就要有几个字典
每个payload都要设置自己的字典 每个payload的字典会一一更换变量
Cluster bomb :会把payload2的变量依次和payload1里面的变量去进行一次组合 再见用payload2的第二个密码跟payload1再依次去组合
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094903931-913359087.png
clear将默认的变量给他清除掉 选中我们的账号和密码 添加一个动态变量 将攻击模式选为 Cluster bomb
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094903531-2063429010.png
点击option
<img alt="image-20240831170625619" >当用户登岸失败的时候出现提示 username or password is not exists
在options里面滑到 grep—match
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094903151-256025614.png
clear清除所有的 add上username or password is not exists我们刚才添加的这个字符串 也就是说我们所有响应的数据包里面响应的内容可以flag出来 如果没有被flag出来的数据就有可能是我们破解成功的数据包
在点击payloads
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094902699-925686461.png
将poload type选为 Runtime file 意思是从字典导入
将paload set 选1
在select file 导入我们自己写好的字典 我这里已经提前写好一个字典 username.txt
然后在paload set 选2 导入我们自己提前写好的字典
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094902356-949194485.png
选好后点击右上角的攻击
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094901996-2025960991.png
可以看到没有被flag被拍到了第一个 也就是这个响应是没有被flag出来的 然后我们将账号密码拿到pikachu上面去试试
<img alt="image-20240831171615565" ><img alt="image-20240831171702242" >登岸成功
以上就是pikachu基于表单的暴力破解
(二)暴力破解

验证码绕过 -on client相关问题

https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094901502-1002250367.png
​        当你打开一个登录页面 向后台发送了请求 当后台担当到这个请求之后 它会调用一个验证码的函数去天生验证码验证码返回前端的时候一定是一个图片 同时它会将后台的算法生产的这个验证码的值以session的情势存到它的缓存里面去 用户在页面登录认证的时候输入账号密码 输入验证码 它会把验证码的这个文本信息提交到后台 后台会对前端提交进来的这个验证码跟session里面的验证码做一个对比 如果是正确就是可以验证成功 然后后台这个时候一旦5这个验证码被验证过后 就会把验证码销毁一样 验证码都是一次一用 那同时如果前端只是请求的这个验证码后台也会对这个验证码设置一个超时时间 比如默认是一分钟 前端重新革新页面的时候后端也会重新生产验证码 而且在验证码算法中一样平常会包含这种随机函数
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094900973-1483655609.png
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094900615-1445547189.png
在页面上右点鼠标查看源代码 在最下面发现有这么一段的JavaScript的源代码
然后我们可以发现所有的验证逻辑实际上直接在JavaScript里面实现的
var code界说了一个变量 写了一个函数fuction createcode 去天生验证码 在用fuction validate函数去验证这个验证码 当你onlink点一下验证码图片 它就会调用JavaScript那个函数去生产一个新的验证码
也就是有说验证码的天生和验证实际上都是在前端完成的
···c
为了测试验证码是否有结果 手动添加一个随机验证码
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094900227-1083114213.png
提示用户名或者密码不存在 但是并没有说验证码错误那我们根本上就要可以确认这个验证码固然说提交了但是后台并没有验证 那说明验证码是在端通过JavaScript来实现的
将数据包发送到intruder去
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094859812-1426756593.png
添加变量 修改攻击模式 跟之前的一样了
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094859376-109549827.png
payload1 跟2选择字典 然后攻击
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094858920-1669675848.png
可以看到这个15的返回长度不一样
把账号密码去pikachu进行输入
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094858460-1392914330.png
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094858130-338605531.png
登录成功
(三)暴力破解

不安全验证码 -on server

打开pikachu
<img alt="image-20240901144430218" >这里随便 输入一个账号密码 在burpsuite抓包
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094857736-428691580.png
显示验证码不能为空 说明后端是进行了验证了的
接下来验证一下这个验证码有没有过期的问题
返回页面革新一个新的验证码 根据我们之间说的 去革新这个验证码的时候后台会返回一个新的验证码 同时会在session里面把这个验证码的字符串存下来 对你提交的验证码去进行验证
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094857331-784877261.png
返回前端将新的验证码给记下来 然后返回burpsuite
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094857015-1022467295.png
在里输入我们正确的验证码因为账号密码是错误的验证码 安装逻辑会给我返回显示账号密码错误的提示
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094856703-289968127.png
为了验证码是否能被重复使用 这里将账号和密码修改一下
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094856239-645898479.png
还是提示用户或者密码错误 那么这个验证码就是可以被重复使用的
根据我们之前的操作进行暴力破解
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094855804-361068412.png
clear清楚选中我们的账号密码添加变量
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094855403-1272148658.png
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094855081-1886546348.png
准备好我们事先写的字典 点击右上角的start attack
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094854706-1614458137.png
打开pikachu将admin 和123456输入
https://img2023.cnblogs.com/blog/3422477/202502/3422477-20250214094854109-676025346.png
登录成功

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Burpsuite基础使用