文章总结: 文档针对某观鸟平台进行逆向分析,通过抓包发现全链路数据加密。利用HookJSON技术定位关键逻辑,确认requestID由getUuid生成,sign为MD5拼接值,表单使用RSA公钥加密,返回数据通过AES解密。最后展示了如何扣取并补全JS代码以复现加密解密过程。 综合评分: 90 文章分类: 逆向分析,爬虫,WEB安全
某观鸟平台逆向分析
爬豸 爬豸
蚁景网络安全
2026年2月9日 17:39 湖南
声明:由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!
1.抓包:
发现url:https://api.xxxxxxx.cn/front/record/activity/search
请求头三处加密,requestId、sign**(疑似md5)、timestamp(时间戳)**
表单数据加密:
请求返回数据加密:
2.分析:
通过抓包,发现请求头、表单、返回的数据均有加密,如果你逆向的网站比较多会发现,一般加密的地方都在一起,网站大概率会使用JSON.stringify,来将数据转换为json字符串之后再进行加密,因此可以使用hook断点
hook JSON.stringify代码:
(function() {
var stringify = JSON.stringify;
JSON.stringify = function(params) {
console.log("Hook JSON.stringify ——> ", params);
debugger;
return stringify(params);
}
})();
将hook代码注入控制台,翻页断点:
找到上一个栈:
可以看出RequestId是由getUuid生成:
sign由MD5(e + d + c)生成:
timestamp由Date.parse(new Date())生成
发现表单是使用RSA加密,并且用setPublicKey方法设置了要使用的公钥。然后,使用encryptUnicodeLong方法对参数e进行加密
使用hook JSON.parse找到返回数据解密位置,和上面hook代码一样的操作:
(function() {
var parse = JSON.parse;
JSON.parse = function(params) {
console.log("Hook JSON.parse ——> ", params);
debugger;
return parse(params);
}
})();
找到解密位置:
跟进后,发现解密代码由AES解密:
3.扣代码:
将js代码复制下来,平且补全代码
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:蚁景网络安全 爬豸 爬豸《某观鸟平台逆向分析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论