news 2026/6/26 9:32:55

弋阳县某gov -伪造的cf 盾逆向分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
弋阳县某gov -伪造的cf 盾逆向分析
url = aHR0cDovL3d3dy5qeHl5Lmdvdi5jbi95eXhmZ3cvcHpmd3h4L3l5endna194eGdrbGlzdC5zaHRtbA==

打开这个网站,首先会出现这个界面,搞的和那个盾太像了,其实并不是。观察发现请求了两次这个html页面,第一次返回412的状态码,第二次携带了4个cookie,再请求这个页面,返回了200的状态码。这怎么和那个瑞某数这么像,我们需要逆向分析的就是这4个cookie

cookies = { 'CT_6eadf26c': 'nPlu0mEJ3YbpIa5lC+7BIELYF7jPGiLF1Sc4mPg8LknEskN7AAPAhMQGgrCvHwLK', 'CT_f7ba0eb8': '2114d6e32c72366f5c0e95a02e69b988', 'CT_e6tzab00': 'ZM7u/0oalOwFLidXMQNq0elOImHTyUfigcHNcJEzROo=', 'CT_rqu7ab01': 'AxI0rjsUNTji1WN7FWNyT5MgH+IXBnx0i3GR6RvLUdc=', }

这里直接hook

(function () { 'use strict'; var cookieTemp = ''; Object.defineProperty(document, 'cookie', { set: function (val) { if (val.indexOf("CT_6eadf26c") !== -1) { debugger; } console.log('Hook捕获到cookie设置->', val); cookieTemp = val; return val; }, get: function () { return cookieTemp; }, }); })();

这里打中了后,向上跟栈发现,就是在这里设置了cookie在这里打上断点,刷新界面,断到这里,发现第一次是设置CT_6eadf26c这个cookie,观察发现这个_0x3c7522值是前面一个函数返回的,往上面再看一个栈。这里就找到了这个值的生成位置看到这种混淆其实是很头痛的,我开始的思路是把这个代码全部拿下来,补环境然后再通过document.cookie获取这个值,这样就不用写AST解混淆了,其实不解也可以,就是分析起来不方便,补环境的时候,发现这个有格式化检测,然后还检测了一堆的环境,补到一半,还是分析代码吧。

回到上面,发现是这个_0x49b683函数,加密了字符串_0x42aa0c,生成了CT_6eadf26c,进入这个函数,

function _0x49b683(_0x108654, _0x3647d8, _0x2c5631, _0x4e50b2) { (_0x2c5631 = _0x47f5ff()[_0xce7da6(-0x23f, -0x311, -0x9e, -0xf0)](_0x2c5631), 'url' == _0x4e50b2) && (/[\x00-\x1F\x7F\u0080-\uFFFF]/['test'](_0x108654) && (_0x108654 = encodeURI(_0x108654))); _0x108654 = _0x47f5ff()[_0xce7da6(-0x2f2, -0x2be, 0x72, -0xf0)](_0x108654), _0x3647d8 = _0x47f5ff()[_0xce7da6(-0xef, -0x2de, -0x2fd, -0xf0)](_0x3647d8); var _0x2f3939 = _0x56a4f7['Hzvgv'](_0x100665)['encrypt'](_0x108654, _0x3647d8, { 'iv': _0x2c5631, 'padding': _0x31e175() }); function _0xce7da6(_0x43483a, _0x3e5d97, _0x3a5521, _0x397f09) { return _0x19a28a(_0x397f09 - -0x53d, _0x3e5d97 - 0x1c4, _0x3a5521, _0x397f09 - 0x3f); } return _0x56a4f7['iQEMw'] == _0x4e50b2 ? encodeURIComponent(_0x2f3939['toString']()) : _0x2f3939[_0xce7da6(0x34c, 0x314, 0x120, 0x2cc)](); }

发现这里有iv和padding,有发现这个类似于这个key的'8a08ebf29x^*xO53',这里其实可以猜测这个就是AES加密了,后面测试了一下,发现果然就是的,是标准的AES-CBC。

这里的CT_6eadf26c,CT_e6tzab00,CT_rqu7ab01都是走了这个方法,就是加密的字符串不一样,然后key和iv也不一样,这里自己去分析一下。

最后就是这个CT_f7ba0eb8,32位长度的,猜测是MD5加密,继续断点往上再看一个栈,这里就非常清楚了

标准的MD5,加密了环境,这个_0xd0d237里面就是我们游览器的环境,转字符串,然后进行加密,这个是标准的算法,自己去试一下就知道了。

最后看一下纯python实现的效果若有侵权,联系删除文章!!!

若有侵权,联系删除文章!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 12:20:31

AI时代的思考力:程序员构建个人知识体系的完整路径!

简介 本文探讨了AI时代程序员如何提升思考力,构建完整知识体系。强调思考应向洞察力和反思力两端移动,通过业务、技术、管理和软技能四维度并行发展,结合长期主义坚持和写作实践,形成学习-实践-复盘的闭环迭代。AI工具可辅助快速…

作者头像 李华
网站建设 2026/6/26 7:57:48

基于大语言模型的产量预测方法

第一步:下载预训练GPT模型(transformers库一键下载)第二步:编写数据处理器(处理你的数据)第三步:创建适配器模型(修改GPT用于时序预测)第四步:训练模型&#…

作者头像 李华
网站建设 2026/6/24 3:30:28

当开题报告还在“憋字”?不如让AI帮你搭好科研第一块积木

在高校的深夜自习室里,总有一群人对着空白的Word文档发呆——不是没思路,而是卡在“如何把思路变成一份规范、严谨、逻辑严密的开题报告”。尤其对初涉科研的硕博新生而言,“开题”二字几乎等同于“焦虑源”:研究背景怎么写才不空…

作者头像 李华
网站建设 2026/6/25 20:57:00

Upscayl终极指南:免费开源AI图像放大工具完全使用教程

Upscayl终极指南:免费开源AI图像放大工具完全使用教程 【免费下载链接】upscayl 🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy. 项目地址: https://gitcode.com/GitHub_Tren…

作者头像 李华
网站建设 2026/6/26 6:01:20

SeaTunnel Web深度体验:企业级数据集成平台的可视化革命

SeaTunnel Web深度体验:企业级数据集成平台的可视化革命 【免费下载链接】seatunnel-web SeaTunnel is a distributed, high-performance data integration platform for the synchronization and transformation of massive data (offline & real-time). 项目…

作者头像 李华