1.先查看登录界面,发现用户名和密码都进行了加密,所以如果接口传输时直接传输明文信息,可能会被服务端校验住,可以在抓包时,通过修改包来检测一下,如下图:
可以看出,如果传输明文,会报系统异常,而不是账户名密码错误,所以在传输时必须进行账户及密码加密。
2.查看登录界面的sources源码,查找有无加密方法
查找一番,发现一个公钥
发现该公钥是MIG开头的,这种开头的公钥一般都是RSA的x509编码,在源码中搜索一番,果然发现了RSA加密的马脚
Ps:RSA加密,同一条信息,每次加密得到的密文都不一致,当时我找到这个秘钥后,发现加密后得到的密文跟抓包中的密文不一致,一度怀疑是不是加密方式没找对,后来经过几次尝试,发现同样的账户密码,每次抓包信息还真不一样。然后验证了一下,在抓包过程中,把包里的用户密码改为自己用秘钥加密的密文,发现能登录,所以确定了加密方式没错
3.在burp中,安装burpcrypto插件,自定义一个rsa算法,过程如下:
在key栏中,输入第二步中找到的公钥,然后点击add process 给这个加密方式命名,方便后续引用。
4.除了加密方式外,还有个验证码也需要进行识别,可以用Captcha-killer-modified插件
,该插件运行时需要安装如下python库
pip install onnxruntime
pip install Pillow
pip install numpy
pip install opencv-python-headless
pip install ddddocr
pip install aiohttp
在captcha-killer-modified-main目录下,执行python codereg.py 开启验证码验证服务
文章来源地址https://www.toymoban.com/news/detail-783548.html
在登录界面,抓取验证码传输包,发送到这个包中
点击获取,可以看到验证码显示成功
接下来配置是被接口,对接上一步运行的python服务
添加内容:
POST /reg HTTP/1.1
Host: 127.0.0.1:8888
Authorization:Basic f0ngauth
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:97.0) Gecko/20100101 Firefox/97.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 8332
<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>
设置接口url为http://127.0.0.1:8888
点击识别,验证码识别成功
4.接下来burp抓取登录接口,发到intreder,其中,§符号里的参数就是可引用变量。
文章来源:https://www.toymoban.com/news/detail-783548.html
然后点击pyload,pyload下拉框有1,2两个,顺序代表第一个变量和第二个变量
先选择1,此时代表引用密码,在payload options选择load,导入密码字典,然后在payload processing中,add 添加已创建的加密方法,这样导入的密码在传输时,就会被这个加密算法进行加密后再传输了;
Payload set选择2,引入识别后的验证码,如下图所示:
5.设置完成后,点击start attack开始爆破
这里发现payload1显示的是加密后的密码,不知道对应的明文,那么怎么查看呢? 可以点击一条,然后选中密码,右键get text即可查看明文
到了这里,关于burp实现rsa加密+图片验证码识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!