js逆向学习

342 阅读1分钟

网站的代码运行的时间轴:
加载html 加载js -- 运行js初始化(自执行) -- 用户触发了某个事件 -- 调用了某段js -- 明文数据 -- 加密函数 -- 加密后数据 -- 给服务器发信息(XHR-SEND)-- 接收服务器数据 -- js中解密函数 -- 刷新网页渲染

Snipaste_2024-05-19_23-43-35.png

image.png

image.png

Snipaste_2024-05-20_19-36-20.png

image.png

image.png
在栈里面,一般加密不在jquery库中(如图),一般大厂也是这样的,如果加密在jquery中,jquery库以后升级了,他还修改库中的代码,所以一般不可能在这个库中。

断点方法: image.png

image.png
技巧:上表中可以看出来我们需要找到password的加密方式,搜索的时候我们可以搜索userid password persistentcookie appid 这些关键字,然后找到password,因为开发者一般都会把这些表单数据写在一起,不会写的很远(搜别的值,也不会离password加密函数太远)。

image.png

image.png
上面这些值只要是用的md5加密的都会搜索到。是md5的特征。

image.png 这个图标可以单步跟。

image.png
只有网站完全打开或者断点在子线程的时候才会在上图threads显示子线程。网站不没运行完成或者断点打在主线程是不显示的。