好久没有逆向人家网站了,今天突然有点手生了,赶紧记录下来我常用的测试方法。
常用的手法:
-
直接在浏览器改用到的变量
限制条件:这种方法要求该变量是全局的,没有任何闭包、作用域等等。
操作方法:找到引用的变量,调出console,直接 x = 999999。
缺点:只能用于不实时同步服务器的,或者其他
使用场景:超星云盘的上传文件限制1GB(现在应该修复了)
-
查提交接口
两种方法:
- network面板
- 事件监听面板
-
注入js脚本
可以分为手动注入和油猴注入:
- 手动注入(页面加载之前):
- element面板找到第一条script标签,打断点
- 手动注入(页面加载完毕):
- 直接在console面板粘贴
- 油猴脚本的话可以改运行时机:
- document-start
- document-idle
- 手动注入(页面加载之前):
计算关键参数方法:
- 使用强大的搜索功能搜到提交接口处的代码,分析参数
- 把参数对应的值复制,贴到搜索框里搜,可能在dom的某个hidden的input上
- 没有的话把加密函数拉下来自己执行测试
- 没有办法就手动模拟,调无头浏览器
- 百度查查有没有人做过
加密函数分析不出来的解决方案:
- 做远程调用,前端生成后端反代 jxhczhl/JsRpc: js逆向之远程调用(rpc)免去抠代码 (github.com)
抓包常用软件:
- Window:Charles(花瓶)
- Android:HttpCanary(黄鸟)
- iOS:Thor(锤子)
就会这么点,貌似也没什么好记录的。总的来说,逆向需要一颗清晰的头脑,仔细分析代码层级关系,不放过任何细节,才有可能破解屏幕对面程序员的心思。很有趣有木有!