0x01 前言
确定加签关键字->分析前端代码获取加签算法->使用burpy插件调用前端加密函数自动对数据包进行加签操作。
https://github.com/mr-m0nst3r/Burpy
0x02 过程
开局一个登录框
2. 分析js获取加签算法
找到对应的uuid()算法逻辑
把js加密代码抠出来复制到sign.js文件
使用python的execjs模块调用sign.js的uuid函数,编写demo测试没问题,加签字段"_msgid"搞定
接下来分析加签字段"_sign"的加密逻辑,通过sign关键字定位到getSign函数
此处对前端代码进行调试,得知传入的参数requestObject为字典格式,通过对字典数据进行处理后得到参数"sb"的值,最终将"sb"的值MD5加密后得到加签字段"_sign"的值
"_sign"的大致加密逻辑有了,那么就需要查看前端调用栈来查看传入参数"requestObject"的字典数据是如何生成的。
分析后得知"requestObject"由两部分组成,一部分为不固定参数,根据业务功能点不同传入不同的参数字典,另一部分为固定参数token、msgid、app_id、redisIdBindCustno添加到字典数据的尾部,然后传入getSign获取加签参数"_sign"的值
3. 编写加签脚本
大致的加签数据生成流程已经理清楚,接下来就需要编写burpy脚本搞定"_sign"加签参数,首先把getSign()函数的加密算法抠出来复制到sign.js文件中
文章来源:先知社区(juers****)
原文地址:https://xz.aliyun.com/t/12082
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推 荐 阅 读