【JS逆向】破解xx志愿headers中u-sign加密参数

注意:文章内容仅用于学习和技术交流,如有侵权请联系我删除。

学者应洁身自好,切勿做出违法的事情,旨在提供逆向思路。

aHR0cHM6Ly93d3cueW91enkuY24vdHp5L3NlYXJjaC9jb2xsZWdlcy9jb2xsZWdlTGlzdA==

问题分析:

请我们请求上方url时,会出现国内大学的列表,通过不断往下滑动,会发现该数据为ajax动态加载,通过netword工具很轻易就能找到api接口:

Response数据返回:

通过分析api接口可知,在请求Headers中包含一个动态加密参数“u-sign”,每次页面刷新,值都在随时变化,只要破解此参数,除了页码为动态设置外,其他都可设为固定值。

逆向开始:

我们搜索关键词“u-sign”,可以得到一条数据:

点开后,很显然地看到“u-sign” 的值为函数 i 的返回值:

 我们设置断点,进行动态调试后,可以看到函数 i 其实调用了匿名函数:

 跟进去:

找到了加密函数所在,加密逻辑一目了然~~~~

参数e 和 t 均为已知数据:

 e : 为api请求接口的后半部分;

 t  : 看着很熟悉吧?是的,就是api请求post过去的参数;

加密函数的处理逻辑并不复杂,结果得到变量a,最后使用n函数进行处理:

我们跟进去看下n函数,发现调用的仍为匿名函数:

 跟进去:

 根据代码中所涉及的函数与变量,只要往上面稍微翻一翻就能找到:

 

。。。。。。

剩余的截图就不贴了,完整代码会放在文末处。

通过以上的分析, 我们把相应的函数与变量复制粘贴到本地js文件里,补全环境与代码,稍作更改,就可以正常运行了。。。

比如:

当我们直接刷新页面时,找到api接口,观察数据:

请求参数:

结果返回:

 我们看下Headers中的u-sign的值:

 这时,我们构造本地js文件,补全参数后:

 完全正确。

当然,当需要搜索时,你只需要把请求参数中的“keyword”设置为你的搜索关键字,就ok了:

 u-sign:

本地js模拟:

 完事~~~收工~~~~

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值