猿人学第二题—混淆 动态cookie检测

news2024/12/29 9:58:59

猿人学第二题—混淆 动态cookie检测

    • 1、代码格式化检测
    • 2、检测global和navigator.vendorSub
    • 3、检测setInterval
      • 思考
    • 4、console.log输出检测
    • 补环境

简单的document.cookie,location.reload等就不写了

1、代码格式化检测

这里应该是利用了字符串正则匹配性能低的特点,恶意编写适应更多字符串、看起来更加"通用"的表达式,让匹配时间加长,达到卡死的效果

var _0x18813f = _0x5b4f47["constructor"]("return /\" + this + \"/")()["compile"]("^([^ ]+( +[^ ]+)+)+[^ ]}");

image-20230722221934099

解决方式:压缩代码

2、检测global和navigator.vendorSub

image-20230722222135386

解决方法:

可以删除global,要让它执行catch逻辑

3、检测setInterval

nodejs中的setInterval和浏览器不太一样,浏览器的setInterval传入的第一个参数可以使字符串,但是nodejs中第一个参数必须是函数

image-20230722222428075

解决方法:

将setInterval置空

setInterval = function (a,b){
   
}

思考

这里原代码是下面这样的,这会导致_0x4464ae函数先执行,再将返回值传给setInterval,所以可以置空setInterval

image-20230722225508527

如果是这样的源代码

setInterval(_0x4464ae, 1000);

则这里不能直接设置setInterval为空,需要hook下setInterval,hook代码如下

setInterval = function (a,b){
    if(typeof a ==='string'){
        return Function(a)()
    }
    a()
}

这个代码逻辑必须这么写(函数执行一次),因为setInterval如果开启定时循环执行,那么程序就不会停下来,如果直接置空,则_0x4464ae函数未执行,qz变量就不存在,而有另一段代码对qz做了判断,就会走错误逻辑

image-20230722223112808

4、console.log输出检测

其中有一个eval执行了下面的代码

console = new Object()
console.log = function (s) {
    while (1){
        for(i=0;i<1100000;i++){
        history.pushState(0,0,i)
            }
    }

}
console.toString = '[object Object]'
console.log.toString = 'ƒ toString() { [native code] }'

这样当我们在调用console.log方法时不断添加大量的历史记录,导致浏览器卡死,并且调用console.dir也会提示不是函数

解决方案:在程序开头预存console.log

MyConsole = console.log

补环境

这样的话,补下面的代码就可以直接获取了,第一次页面返回的代码不需要做任何修改

navigator = {
    vendorSub:''
}
MyConsole = console.log
document = {
    cookie:''
}
location = {
    reload:function(){}
}
delete global;
setInterval = function (a,b){
    if((typeof a)=='string'){
        return Function(a)()
    }
    a()
}

image-20230722224607200

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/796973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

管理类联考——写作——素材篇——论说文——可持续发展——食蚁兽

巴西热带雨林中的食蚁兽在捕食时&#xff0c;使用带粘液的长舌伸进蚁穴捕获白蚁&#xff0c;但不管捕获多少&#xff0c;每次捕食都不超过3分钟&#xff0c;然后去寻找下一个目标&#xff0c;从来不摧毁整个蚁穴。而那些没有被食蚁兽捕获的工蚁就会修复蚁穴&#xff0c;蚁后也会…

【C++进阶之路】继承篇

文章目录 前言一、概念二、性质1.赋值转换2.作用域——隐藏/重定义3.默认成员函数①构造函数②拷贝构造③析构函数④赋值重载 4.友元函数5.多继承①单继承—— "一脉单传"②多继承——"一父多子"③菱形继承—— "一子多父"④菱形虚拟继承 三、总…

【数据分享】1999—2021年地级市固定资产投资和对外经济贸易数据(Shp/Excel格式)

在之前的文章中&#xff0c;我们分享过基于2000-2022年《中国城市统计年鉴》整理的1999-2021年地级市的人口相关数据、各类用地面积数据、污染物排放和环境治理相关数据、房地产投资情况和商品房销售面积、社会消费品零售总额和年末金融机构存贷款余额、地方一般公共预算收支状…

第二十章 原理篇:CLIP

参考教程&#xff1a; 【PDF】Learning Transferable Visual Models From Natural Language Supervision https://github.com/openai/CLIP 文章目录 概述方法自然语言监督创建一个足够大的数据集选择高效的预训练方法代码解读 选择和缩放模型训练使用 代码解读model load rel…

软件测试:单点登录之—单点流程

用户认证中心采用票据传递的方式进行用户信息共享&#xff0c;保证登录会话在不同的站点进行创建。用户访问目标站点时通过当前登录的站点创建票据&#xff0c;传递票据到目标站点&#xff0c;目标站点接收到票据之后调用用户中心认证系统接口进行票据认证&#xff0c;认证成功…

【C语言15】单链表,(对于二级指针与一级指针应用的详细讲述)

文章目录 单链表1.单链表的介绍2.单链表的实现2.1.1单链表结点的创建与销毁2.1.2单链表尾插2.1.3单链表打印2.1.4尾删2.1.5头插2.1.6头删2.1.7查找2.1.8在pos位置之后插入数据2.1.9删除pos位置 单链表 1.单链表的介绍 链表是一种物理存储结构上非连续、非顺序的存储结构&#…

科学家用ChatGPT写完1篇论文仅用1小时!多所高校撤销禁令

自2022年11月发布以来&#xff0c;许多人都在使用ChatGPT来帮助他们完成工作&#xff0c;各行各业的人都在使用&#xff0c;从撰写营销材料&#xff0c;到起草电子邮件&#xff0c;再到生成报告。 ChatGPT作为一种人工智能工具&#xff0c;在科研中也显示非常大的应用潜力&…

汽车行业 Y 公司对接斯堪尼亚 SCANIA EDI 项目案例

斯堪尼亚是一家来自瑞典的重型车辆制造公司&#xff0c;成立于1891年&#xff0c;总部位于斯德哥尔摩&#xff0c;主要专注于生产卡车、客车和工业发动机&#xff0c;以及相应的服务与解决方案。斯堪尼亚的产品以其高品质、可靠性和先进技术而闻名。其卡车广泛应用于货运和运输…

大文件传输过程中的网络拥塞控制方法研究

随着网络技术的进步&#xff0c;我们在工作和生活中经常需要传输大文件。但是在实际的文件传输过程中&#xff0c;网络拥塞问题一直是困扰着我们和网络服务商的一个难题。接下来将从网络拥塞的原因、影响以及控制方法等方面详细介绍大文件传输过程中的网络拥塞控制方法。 一、网…

Gnomon室外照明学习

阴影 复制4个 15 开启主光 复制选择45度的那组灯光 关闭阴影 灯光颜色吸取地面 对比 组 X和Z平移归0 整体旋转 太阳调整 吸取图片上面的颜色&#xff0c;天空那组灯 复制一个

【Vscode | R | Win】R Markdown转html记录-Win

Rmd文件转html R语言环境Vscode扩展安装及配置配置radian R依赖包pandoc安装配置pandoc环境变量验证是否有效转rmd为html 注意本文代码块均为R语言代码&#xff0c;在R语言环境下执行即可 R语言环境 官网中去下载R语言安装包以及R-tool 可自行搜寻教程 无需下载Rstudio Vscod…

面试题 -- 客户端安全性和框架设计

文章目录 1. 客户端安全性处理方式2. sip是什么&#xff1f;3. 有些图片加载的比较慢怎么处理&#xff1f;你是怎么优化程序的性能的&#xff1f;4. 实现过一个框架或者库以供别人使用么&#xff1f;5. App需要加载超大量的数据&#xff0c;给服务器发送请求&#xff0c;但是服…

如何测试Linux内核

目录 概述 LTP 构建系统 C测试用例 参考资料 Autotest Kmemleak Kmemcheck Linaro LAVA 调试器 GDB KGDB 设备驱动测试 资料获取方法 概述 在本文中&#xff0c;我们将讨论用于测试Linux内核的各种框架和工具。首先&#xff0c;我们将介绍LTP( Linux Test Proje…

Ribbon 启用规则,SelectionCountRule规则在Classic界面下不生效,只有在UCI界面下才生效

Ribbon 启用规则&#xff0c;SelectionCountRule规则在Classic界面下不生效&#xff0c;只有在UCI界面下才生效。

Python pygame(GUI编程)模块最完整教程(7)

上一篇文章&#xff1a; Python pygame(GUI编程)模块最完整教程&#xff08;6&#xff09;_Python-ZZY的博客-CSDN博客 总目录&#xff1a; README.md Python-ZZY/Python-Pygame最完整教程 - Gitee.com 21 OpenGL与Pygame 不会OpenGL的读者可以跳过本章节。 21.1 OpenGL简…

后端一次返回大量数据,前端做分页处理

问题描述&#xff1a;后端接口返回大量数据&#xff0c;没有做分页处理&#xff0c;不支持传参pageNum&#xff0c;pageSize 本文为转载文章&#xff0c;原文章&#xff1a;后端一次返回大量数据&#xff0c;前端做分页处理 1.template中 分页 <el-paginationsize-chang…

局域网内主机ping不通,但是可以调用对方http接口(防火墙阻止了icmp协议)(关闭防火墙或者启用ICMP回显请求(ICMPv4-In))

文章目录 背景可能的原因问题排查及解决 背景 局域网内有一台主机&#xff0c;ping它ping不通&#xff0c;但是可以调用它的http接口&#xff0c;很诡异。。。 可能的原因 可能的原因有以下几种&#xff1a; 防火墙设置&#xff1a;局域网内的主机可能设置了防火墙&#xff…

【Unity3D日常开发】Unity3D中Package Manager加载不出来插件包或者加载出来后无法Install的问题

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 今天在新电脑上打开Unity3D的Package Manager&#xff08;包管…

<MyBatis>前台传参多个条件查询方式(传数组或者拼接字符串)

方式一&#xff1a;前台传参为数组&#xff0c;后台SQ查询案例&#xff1a; 一般为多选场景&#xff1a;查询&#xff1b; 举例如下&#xff1a; 传值&#xff1a;“status” : [“保存”,“关闭”], 不传值&#xff1a;“status”: [], 传给后台&#xff1a; 控制层&#xff1…

清洁力好的洗地机有哪些品牌、清洁力好的洗地机盘点

清洁力好的清洁工具有很多&#xff0c;但是想要清洁力好的并且又省心省力&#xff0c;快捷高效的洗地机可以说是榜上有名&#xff01;在清洁的时候&#xff0c;洗地机的作用相比传统清洁工具使用更加的便捷&#xff0c;并且清洁力不比传统清洁工具差&#xff0c;同时还衍生了更…