千家信息网

javascript应用实例分析

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要讲解了"javascript应用实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"javascript应用实例分析"吧!递归方式+混淆
千家信息网最后更新 2025年02月05日javascript应用实例分析

这篇文章主要讲解了"javascript应用实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"javascript应用实例分析"吧!

递归方式+混淆+简单扁平化

首先市面上有混淆工具可以达到这个效果,我自己也基于ast写了一个混淆工具,扯远了,我们来看下他这个都是数组方式读取字符串,在源码搜索的时候

我们发现了他初始化的位置,

因为他是动态解析的这个数组,我们只需要拿到他数组的成员放进去就行了,

其实我看到这里是很疑惑的,这个字符串竟然没有加密码,赤裸裸啊。

然后我们把字符串数组手动赋值之后我们拷贝这一段js到我写的混淆还原工具来看看

没压力,瞬间还原,工具自动计算作用域替换的。然后我们粘贴到notepad看看

这么看的话基本上他的所有东西都出来了,万事俱备,就差调试, 我们把这还原出来的js 替换上去,怎么替换呢,就是把昨天分析的ret = eval (伪代码把这个直接拷贝上去就行了,这样也方便调试。刷新之后debugger我们忘了处理,直接跳过算了,然后我们看到了这个

然后本着测试的精神,我又刷新了七八遍,发现一个问题

这个页面我是和js一起保存的并没有从服务器拉取最新的然是依旧可以正常使用,因为他有两处,我们尝试下这个

这段如果固定了js直接报错,不固定正常加密,这就头大了,因为这是一段加密后的字符串我们不管他是什么反正一会都要解密我们先不管。

到了现在我们可以固定的调试他的第一层解密出来的js,因为大家都知道他的url是hook过的,也就是业务和反爬是分开的,所以我们不需要刷新页面来让他走到断点,我们可以这样

我们在控制台模拟他的其中一个接口然后回车

已经成功请求了,我们看他提交部分

到这里说明是任意的url,因为他是hook了ajax的api而他又是可以任意url不限制的,我们可以使用xhr断点

点击这个加号我们设置好他请求包含指定字符串的url就会断下来

$.get("/tmrpToken.token")

然后控制台回车

断在了真正提交url的地方,我们看到他是this.send

我们看到他的this就是XMLHttpRequest 对象,看到他的url已经完全计算好了

顺着堆栈看,我们先看send,点进去我们把断点下到这里,因为他的变量之类的是根据作用域算的,复杂的话从头来算比较好,上层变量有可能会重叠

,下好断点我们在重新提交一次

第二次提交我们可以看到非常干净,我们按f10单步走

走到这一行我们发现url出现了

非常清楚他在231这个对象,我们往上看

他在这个函数执行完就有了我们进去这个函数下断点看看

我们f10单步发现他直接最后了,再进去这个函数继续_$7e

传入三个参数

继续单步

又一个_$p5,继续

还是三个参数一样,然后有个Function,我们抠出来看下

new一个函数然后传进去三个参数,还是这三个参数

生成一个参数一调用参数二方法,传入参数三我们看下这三个参数

我们可以直接这样

打印出位置我们双击进去

断点进去之后我们看

这个函数没有什么蹊跷,继续走下去

this._$oM = arguments[1] = _$ok(arguments[1])[0];

隐藏的很深啊

我们跟进去这个函数

然后我们单步发现他走到这里就有结果了我们看下它穿的参数

姑且认为参数2有用,我们看下参数2那里出来的

参数2我们看下他的参数

var _$s2 = _$HW(_$59(_$qt("/tmrpToken.token")));

我们看看

_$qt

编码剩下的不管他是什么 函数,到时候直接扣就行了,我们只分析

到现在我们看到了_$HW,_$59,_$6p这三个是加密用的,至于内部逻辑,先不管,先测试下能不能加密

把他单独拿出来,然后写一个加密函数

function url_encry(_$di){  var _$s2 = hm._$HW(hm._$59(encodeURIComponent("/tmrpToken.token")));  return hm._$6p(769, 0, _$s2, _$di);}

感谢各位的阅读,以上就是"javascript应用实例分析"的内容了,经过本文的学习后,相信大家对javascript应用实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

参数 函数 分析 三个 断点 字符 字符串 加密 实例 实例分析 应用 工具 数组 就是 学习 位置 作用 内容 变量 对象 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 录音点歌机服务器停止 万根网络技术有限公司怎么样 数据库钱的类型 网络安全组织协调机构 财政局网络安全应急演练情况 加强网络安全防护栏手抄报 网络安全和产业发展 物流数据库需求分析与设计 xag瑞波基软件开发 网络安全基地电子对抗旅 u8不能连接到服务器 网络安全应急预案制度情况 汇金网络安全 java中for循环查询数据库 中国银行合肥软件开发中心黄武 如何删除腾讯服务器个人微信数据 学校网络安全管理标准 软件开发项目初验汇报 网络技术对人际交往的促进作用 自动化网络技术保养 物流数据库需求分析与设计 网络安全知识的手抄报内容 华为服务器和英特尔 网络安全基地电子对抗旅 哪家互联网科技学校好一些 spss如何去除数据库 方舟玩服务器好还是自己玩好 互联网金融科技成就展 沈阳游戏服务器诚信企业 大数据软件开发工程师有钱吗
0