某银行解密后越权
话不多说,直接开搞
开局一个登录框

看到有个注册,然后点进去注册一个用户,就获得了普通用户的权限了

而后没有啥收获,看看js文件有没有,找了找

参数分析跟进变量:

得到了参数
{"loading": "true","pageNo": 1,"pageSize": 10}
加解密逻辑分析,在登录页面进行分析加解密逻辑
请求的参数会计算sigin值:
App.xx.js文件的代码:if (t.url && t.url.indexOf("?") > 0) {
下断点,便于调试,该地方是参数的初始构造位置,初始传参到最终加密位置是先计算出参数对应的sigin值

计算sigin后再进行整体的参数加密
正式进入加密位置:t.data = AresCrypto.encrypt(i.publicKey, i.privateKey, e, f()(t.data))
分别区分get/post传参,所以两个相关加密位置都进行下断点

动态key生成,我们把它固定

固定:因为解密时使用的key也是这里生成的每个请求和响应都不一样。

解密位置:我们已经固定了key所以便于解密调试。
t.data = AresCrypto.decrypt(t.config.encryptKey, e.body)

然后可以进行挖掘漏洞~~
直接通过断点构造请求参数进行动态加密:

就得到替换接口加密后的完整请求,得到响应后直接调用解密函数得到解密数据

成功越权获取了大量的个人身份证住址等敏感信息
越权简单,主要是加解密有点麻烦
温馨提示:本文内容仅用于合法授权的安全学习与研究交流,严禁用于未授权渗透测试、漏洞利用或任何违法行为。
涉及企业或平台的未公开漏洞信息,请遵循负责任披露原则,勿公开传播可直接复现的敏感细节。
如存在侵权、错误信息或不当内容,请联系站方处理,我们将及时核实并删除。邮箱:admin@baimaojianghu.com。
