Loading... ## 题目1:抓取所有(5页)机票的价格,并计算所有机票价格的平均值 ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/28384837.png) ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/3279065878.png) ## 过程解析 ### 首先抓包看一下翻页的数据 打开F12后 迎面而来的就是一个debugger ### 解决debugger ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/1073641849.png) 因为看到是外部js 所以直接文件替换解决掉 省得定时器占用内存了 ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/2056176800.png) 解决掉uzt.js后还一个外部js文件会循环bb ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/1967631219.png) 验证后发现w 和dd都是把dom重置为空的东西 所以这个uyt.js也是来扰乱视线的 直接替换成空的 ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/2508991678.png) ### 抓包查看一下翻页数据 `https://match.yuanrenxue.com/api/match/1?page=2&m=9eb41401c93f6258c2369e849061218f%E4%B8%A81665690701` ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/4133420450.png) ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/3110694843.png) ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/3459321389.png) 毋庸置疑 接口就是这个了 `https://match.yuanrenxue.com/api/match/1?page=2&m=` 那么就找一下这个接口调用的地方 ### 打断点 找接口调用位置 ![image.png](https://blog.11dz.cn/usr/uploads/2022/10/3953679922.png) 可以看到js被混淆了 随便找个工具解一下混淆 ```javascript window['url'] = '/api/' + 'match' + '/1', request = function() { ... 此处太多就不展示了 ``` 清晰可见的逻辑 ```javascript 0x5d83a3['page'] = window['page'], _0x5d83a3['m'] = _0x57feae + '丨' + _0x2268f9 / (-1 * 3483 + -9059 + 13542); // 1.主要代码 m = _0x57feae + '丨' + _0x2268f9 / (-1 * 3483 + -9059 + 13542); // m值的产生 // 2.梳理结构 分析参与者 _0x2268f9 = Date['parse'](new Date()) + (16798545 + -72936737 + 156138192), _0x57feae = oo0O0(_0x2268f9['toStr' + 'ing']()) + window['f']; _0x2268f9 / 1000; // 3.稍加理解 _0x2268f9 = 现行时间戳 + 100000000ms _0x57feae = 加密函数oo0O0 ( _0x2268f9.toString() ) _0x2268f9 = ms 转换 s ``` ... 没有什么值得研究的 浪费时间 打个断点在oo0O0最下边拿到hex_md5就行了 最后修改:2022 年 10 月 12 日 © 允许规范转载 打赏 赞赏作者 微信 赞 3 如果觉得我的文章对你有用,请随意赞赏