0


burp实现rsa加密+图片验证码识别

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 开启验证码验证服务

在登录界面,抓取验证码传输包,发送到这个包中

点击获取,可以看到验证码显示成功

接下来配置是被接口,对接上一步运行的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,其中,§符号里的参数就是可引用变量。

然后点击pyload,pyload下拉框有1,2两个,顺序代表第一个变量和第二个变量

先选择1,此时代表引用密码,在payload options选择load,导入密码字典,然后在payload processing中,add 添加已创建的加密方法,这样导入的密码在传输时,就会被这个加密算法进行加密后再传输了;

Payload set选择2,引入识别后的验证码,如下图所示:

5.设置完成后,点击start attack开始爆破

这里发现payload1显示的是加密后的密码,不知道对应的明文,那么怎么查看呢? 可以点击一条,然后选中密码,右键get text即可查看明文

标签: 安全 web安全

本文转载自: https://blog.csdn.net/qq_40685200/article/details/129899689
版权归原作者 吃辣椒的喵 所有, 如有侵权,请联系我们删除。

“burp实现rsa加密+图片验证码识别”的评论:

还没有评论