【逻辑越权】---验证码与Token及接口---day36
【逻辑越权】---验证码与Token及接口---day36
一、思维导图
1、导图:
2、案例演示:
二、验证码安全
1、涉及点
2、验证码识别插件及工具操作演示
①Pkav_Http_Fuzz工具
下载地址
https://lanzous.com/i1z2s3e
②演示网址
https://manage.yyxueche.com//panel/login.php
右键复制验证码图片的链接地址
每访问一次,验证码就会刷新一次。
然后粘贴到软件这边
还是很牛逼的
③captcha-killer插件
使用教程:
https://www.cnblogs.com/cwkiller/p/12659549.html
下载地址:
https://github.com/c0ny1/captcha-killer/releases/tag/0.1.2
下载jar包,然后添加到burp中
抓一下验证码的数据包
发送到插件中
插件要配合百度AI文字识别使用。
④reCAPTCHA插件
下载地址:
https://github.com/bit4woo/reCAPTCHA
3、验证码绕过本地及远程验证-本地及实例
①pikachu靶场演示
首先是第一个on server,先通过输入正确的验证码,然后抓包,进行爆破,目的是为了看一下这个应用会不会是每一次都校验验证码,还是只要第一次对了就行。
结果发现,果然是只验证了第一次正确,后面就不再管了。
从源代码中分析:
原因是没有销毁这个验证码。这个验证码存储在SESSION中。
下面是测试client验证,审查元素可以找到对应的函数。
有可能会在源代码中看不到,原因是开发者可能会对js文件进行封装,那么我们可以抓包来看一下
对应的写法比如:
<script src="1.js"></script>
4、某验证码接口利用
点击获取验证码,抓一下包
可以操作验证码轰炸,但是要注意是60s一次。
5、Token客户端回显绕过登录爆破演示-本地
①什么是Token:
总的来说就是可以判断数据包的唯一性。
②pikachu测试
在pikachu靶场中
发现返回包中有Token的值(Token客户端回显),只需要替换就可以了,下面使用bp来爆破
要选择这个模式
在设置第二个参数token值得时候
先点击Options,把线程改为1,因为Token是一次一次的。
然后在下面选中这个选项
然后在这个模块中点击add
然后在下面找到Token的值所在地方
然后在payloads中选择下面的选项
然后爆破就可以了
三、接口回调安全问题
callback容易产生跨站漏洞:inurl:callback
那么这些漏洞该怎么发现呢?可以使用bp爬虫
此处使用bp1.7版本
匹配id等参数