逻辑漏洞总结思维导图
![图片[1]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-378-1024x952.png)
验证上的安全问题
验证码安全问题
- 爆破—之前说到过,短信邮箱验证码的爆破。
- 识别 —借用工具,插件对图形验证码进行识别
- 复用— 只用输入一次正确的验证码然后一直发包复用
- 回显—验证码回显响应包中
- 绕过—前端验证的绕过
Token的安全问题
- 爆破—破解token加密后进行批量爆破token
- 固定—固定一个token批量发包
- 回显—下一个token会回显到响应包中
接下来几个案例细细分析:
演示案例
验证码识别插件及工具操作演示
当一些登录点存在图片验证码需要我们输入时候,此时无法进行绕过,那么就只能进行识别验证码;了,这里涉及到几个工具跟插件
插件工具使用
- captcha-killer
- Pkav_Http_Fuzz
- reCAPTCHA
Pkav_Http_Fuzz:
直接打开工具,放入验证码的地址然后直接进行识别:
![图片[2]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-379-1024x715.png)
同时他这个工具也支持爆破,同时把识别出来的验证码当作字典进行填充,从而实现爆破:
右边可以放入自定义账号密码字典对账密进行爆破:
![图片[3]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-380-1024x721.png)
bp插件-captcha-killer:
下载以及编译好的版本
![图片[4]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-381-1024x623.png)
加载到bp当中:
![图片[5]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-382-1024x803.png)
接下来把验证码url放入以及数据包
![图片[6]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-383-1024x666.png)
然后自己去百度ai或者别的识别文字接口申请接口,然后放在下面就可以开始识别了。
pikachu验证码绕过客户端及服务端验证
客户端的验证码绕过
这个说白就是前端验证码的生成验证,我们只需要抓包绕过就可以了
![图片[7]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-384-1024x596.png)
F12查看源码,找到验证代码,证实是前端的验证:
![图片[8]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-385-1024x641.png)
只需要抓包绕过即可,此时拿着数据包再去爆破什么都行。
![图片[9]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-386-1024x803.png)
服务器端验证码验证
这种验证就是在后端,这里就存在一个复用的问题,利用验证码复用绕过,也就是我们只用输入一次验证码然后一直用。
![图片[10]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-387-1024x688.png)
我们只用输入一次正确的验证码就可以用这个包一直爆破了,这就是验证码复用。
![图片[11]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-388-1024x809.png)
我们看看后端源码,来知道为什么会发生这种情况:
![图片[12]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-389-1024x470.png)
可以看到我们输入一次正确的验证码他就会存放在session中,之后我们一直用该验证码就可以实现复用,源码中也写出来漏洞导致的原因,就是验证完成后,没有销毁该seesion中的验证码。
pikachu-Token客户端回显绕过登录爆破
token是一种安全机制,可以防止ssrf攻击以及重放攻击,因为每次提交的token值都不一样,如果我们拿一个数据包进行爆破一直都是一个token,那么服务器就不会予以处理,我们每次发送的数据包的token必须符合它预期的token,我们要么知道token加密方式,进行破解寻找规律。还有一种是响应包中存在返回的token,这个token其实就是下一次发包的token。
我们可以看到数据包中有token:
![图片[13]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-390-1024x567.png)
我们发现响应包中存在一个token:
![图片[14]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-391-1024x685.png)
这个其实就是下一次发包的token值。
![图片[15]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-392-1024x592.png)
密码我们设置自己准备好的字典,token我们设置返回包中的value:
![图片[16]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-393-1024x771.png)
我们还要把线程设置为1,因为只有发一个包过去对方才回一个token,多线程并不行:
![图片[17]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-394-1024x527.png)
然后就可以开始爆破了:
![图片[18]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-395-1024x659.png)
成功登录:
![图片[19]-逻辑越权之验证码与Token及接口-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2022/11/image-396-1024x642.png)
bp爆破的四种攻击模式:
一、Sniper(狙击手模式)
针对单一密码,假设确定了两个位置A和B,然后密码包payload里有两个密码1、2,那么攻击模式如下:
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | null |
1 | 2 | null |
2 | null | 1 |
3 | null | 2 |
二、Battering ram(攻城锤模式)
于sniper模式不同的地方在于,同样情况下,攻击次数减半,每次两个位置用同样的密码,如表:
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | 1 |
1 | 2 | 2 |
三、Pitchfork(叉子模式)
跟前两种不同的地方在于,可以多组密码本payload,又于battering ram相同的地方在于,一一对应,现在添加包含3、4的密码本payload,暴力破解过程如表:
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | 3 |
1 | 2 | 4 |
四、Cluster bomb(炸弹模式)
跟叉子模式相似的是多个密码本对应多个位置,不同的是不再是一一对应,而是交叉组合,每一个密码本里的密码都对应于另一密码本所有密码,如表:
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | 3 |
1 | 2 | 3 |
2 | 1 | 4 |
3 | 2 | 4 |
URL下载接口ID值调用遍历测试
当某站点存在资源请求时候参数上带有id值,我们就可以爆破遍历该id值从而达到未授权去访问到某些资源。这里不进行实际演示,这种站点很多。
Callback自定义返回调用安全
这种指的是某个站点请求了第三方站点的接口,然后url里面有回调的内容,这个内容显示在前端页面中,我们就可以修改这个参数形成xss攻击等。
资源
(14条消息) Pkav HTTP Fuzzer教程_夏日 の blog的博客-CSDN博客
(14条消息) burpsuite安装插件captcha-killer识别验证码_一颗小黑橙的博客-CSDN博客_burpsuite 验证码
https://www.cnblogs.com/nul1/p/12071115.html
请登录后发表评论
注册