本篇写的文章是我在公司内部业务系统测试的时候分析的过程,也是个很感谢火线小助手的文章分享:
打开页面点击登录:

在JS中找到获取用户名密码提交的地方,打上断点:


输入用户名密码,提交表单:

通过jQuery文件获取用户输入的用户名密码框中的值:

先将获取到的值进行特殊字符处理:

接着调用base64方法:

将输入的用户名密码做一次base64编码:

编码完成后,调用jsencrypt.min.js中的方法,对base64进行RSA加密:

调用方法获取公钥:

此时已经可以通过公钥将用户名或密码进行加密了,但是在这里加密的时候怀疑加入了时间戳:

随便找了个第一个测试了一下,

这个是不是加密证书的有效时间呢?(此处不是很明白)
加密后返回:

至此,整个加密流程结束。
暴力破解:
1、BP加载BurpCrypto插件:

2、配置payload和爆破的插件

3、执行爆破

由于目标站点采用了302跳转,并配合了客户端生成的Tiket,向客户端进行验证,因此在此业务场景下爆破显得毫无力气,有哪位大佬如果有经验的可以分享一下相关经验。