雪重 Python Developer 知识 汗水 灵感 机遇
2021年8月23日   spider js逆向

某红书web个人主页x-t&x-s&ob混淆

某红书web更新,加强了参数校验,x-t&x-s变成必要参数,x-sign加密方式暂未改变

1.抓包&定位

image-20210823195843733

其中x-sign上篇文章已经搞定,同样在header里的参数x-t&x-s,应该和x-sign一起放在hedaer,直接去x-sign生成的位置看看,顺着代码顺着代码向下调试,箭头处对headers进行了赋值

t.headers = P(P(P({}, t.headers), l), p)

调试可知,l 就是我们要找的x-t&x-s

{ "X-s": "bslaUOlvpsjsl1B9G0j1WZB5bsgWZB93***", "X-t": 1629720500512 }

image-20210823200626718

window.sign,就是我们最终要抠出来的加密方法了,参数f为api,t.data为undefined。追进去看看

image-20210823201208754

被混淆了,从js的开头的特征看出来,应该是ob混淆的(大数组,定义的解密方法)

image-20210823201308809

2.扣代码

鉴于混淆的不是特别严重,而且已知最后调用的sign方法,直接无脑扣下来即可(当然ast还原后看起来更加舒服)

image-20210823201719833

直接运行会卡死,因为有格式化校验与环境检测,可以去这个网站把js压缩下再执行,在线js压缩格式化工具

使用js proxy检查检测了哪些环境,navigator对象,alert方法

image-20210823203025591

image-20210823203038966

3.运行效果

image-20210823203135348