【JS 逆向百例】某空气质量监测平台无限 debugger 以及数据动态加密...
发布网友
发布时间:2024-08-19 17:03
我来回答
共1个回答
热心网友
时间:2024-08-23 03:31
本文将深入探讨一个空气质量监测平台的逆向分析,特别是如何处理无限 debugger 和动态加密数据。首先,这个站点频繁更新且受到反爬虫保护,但为了支持开发者并减少对站长的负担,本文将主要分析逻辑,而非提供完整代码。
逆向过程中,遇到的无限 debugger 可通过控制台的开发者工具绕过。一是通过Hook构造方法来打断setTimeout和setInterval,二是直接在控制台设置“永不在此处断下”。需要注意的是,这两个debugger都需在单独的开发者工具窗口中操作,否则会触发检测。
数据加密方面,页面的city_realtime.php包含eval语句,隐藏了加密逻辑。虽然理论上可以替换eval以避免无限debugger,但动态加密JS每10分钟变化,且关键密钥也在变化,这使得直接替换不可行。抓包显示,实时监控页面的数据经过MD5、base64等加密处理,需要追踪找到解密函数。
解密过程涉及AES+DES+BASE64,关键密钥和偏移量在请求头定义。为应对动态JS,需要通过抓包获取encrypt_xxxxxx.js并分析其中的eval和base64操作。最后,虽然本地执行JS受限于缺失的库函数,但通过匹配参数并用Python实现,可以实现数据的抓取和解密。