首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一次JS木马分析

一次JS木马分析 0x00 前言 随着 javascript 这类脚本语言快速发展,它能展现内容越来越多样,所运用功能变得越来越强大。...因为近期偶然发现一个 js 木马文件,所以想探寻一下 js 木马混淆方法和这个木马起作用。...下面就来分析一下,这个木马到底做了哪些操作。 判断cmd.exe路径 代码开始就是执行了一个函数: ? 可以看到,在这里也是对字符进行拼接,最后凑出来关键字。...第三层混淆就是通过 unicode 编码,利用特定数值替换,然后通过异或等数学方法得到代码明文,对下载恶意文件中字符进行解密操作。整个过程体现了对普通杀毒软件极强欺骗性和防御性。...也可以从行为分析角度再次验证 JS 执行过程,因为上面是从代码角度分析,难免有点点抽象,从 JS 实际操作过程分析,会更加直观。我们可以看到: ? ? 发现与分析基本一致。

4.2K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS逆向 | 一次翻车练手经历

    这次写一写这周翻车一次逆向吧,整体加密逻辑并不难,但是要没有群里大佬提醒就栽了。 ? 分析请求 老规矩先分析一波请求。...这次要分析是首页「电报」部分,刷新首页发现抓不到「电报」这部分请求,无奈点击加载更多发起请求(其实并没有区别) ? ?...选中部分就是要分析请求了,想要快速定位可以使用上一篇用到 XHR 断点,没看过看下面: JS逆向 | 分享一个小技巧和XHR断点小案例 除了此之外,还有一个比较坑地方,这个网站是定时刷新,...看到这种e.xxx样式加密我就想到之前逆向遇到CryptoJS,对比一下果然差不多,果然一对比和CryptoJS.sha1一毛一样。 接下来就是打脸现场了,我以为到这里就结束了,没想到: ? ?...经过群里大佬提醒发现其实后面还有一层加密: ? 也怪我经验主义作祟,希望大家不要像我这样翻车。==> 群里隐藏大佬是真的多。 ? 本文完。

    60230

    一次网站被注入js经历

    排查经过 然后突然想到了之前被挂马事件(Event),f12看看 发现加载了一个陌生jsmarket.js 看发起程序,应该是被注入了 查看了我所有网站js,发现只有两个网站js最后一行都被插入了同样代码...,而且更改日期都是11月24日 但是我这情况特殊,12月7日换过一次服务(Services)器,被挂马服务器是之前服务器,是在12月10日 而这段js是11月24日被插入,而且两个服务器上都有...这就否定了是之前被挂马插入js 感觉没什么大问题,想着先把js改回来看看 但是我不会js,不知道该改哪啊((( 于是就想到更新一下程序(论坛用Flarum,是最新版,但是就想更新一下试试)...还好,更新后最后一行没了 看看其他同日期更改js,最后面一行也是更新后少了这一行 所以就可以确定被插入代码是在js最后一行,以 (function(_0x516aad,_0x257ccd){...代码样本 这里放出来我js被插入代码样本(未格式化),如果有大佬懂的话可以分析一下,我是不懂js((( 被注入js.js

    1.5K50

    JS逆向 | 一次翻车练手经历

    这次写一写这周翻车一次逆向吧,整体加密逻辑并不难,但是要没有群里大佬提醒就栽了。 ? 分析请求 老规矩先分析一波请求。...这次要分析是首页「电报」部分,刷新首页发现抓不到「电报」这部分请求,无奈点击加载更多发起请求(其实并没有区别) ? ?...选中部分就是要分析请求了,想要快速定位可以使用上一篇用到 XHR 断点,没看过看下面: JS逆向 | 分享一个小技巧和XHR断点小案例 除了此之外,还有一个比较坑地方,这个网站是定时刷新,...看到这种e.xxx样式加密我就想到之前逆向遇到CryptoJS,对比一下果然差不多,果然一对比和CryptoJS.sha1一毛一样。 接下来就是打脸现场了,我以为到这里就结束了,没想到: ? ?...经过群里大佬提醒发现其实后面还有一层加密: ? 也怪我经验主义作祟,希望大家不要像我这样翻车。==> 群里隐藏大佬是真的多。 ? 本文完。

    1.2K20

    一次两小时js编程学习

    它们严格遵守自身规定,永远也不会有下面的情况出现,因为编译时候会自己抛出错误而终止运行。...只需要将写好js脚本和页面发送给用户,这个时候用户浏览器就会自动生成绚丽多彩网页。...item.innerHTML="这是十八用来测试" //这个时候标签文本其实已经变为了上面的字符串 备注:JavaScript每一行末尾不强制使用;,这一点和Python语言极其类似。...数据类型 相对其他语言,js数据类型也是一般般,其实并无奇特之处,当然没有字符这个数据类型需要特别注意一下。下面介绍它基本数据类型。...不过这里却看到了js一个不足之处,构造函数不能有多个,当然其实本质上只是向构造函数传递参数不同,而js有着和Python一样可选参数机制,自然不需要多个构造函数。

    47720

    一次愚蠢操作--线程安全问题

    文本已收录至我GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 一次在工作中愚蠢操作,本文关键字:线程安全 (我怎么天天在写Bug啊)--本文适合新手观看...我这边系统架构是这样: ?...解决首要问题 四、寻找问题 现有的条件是: 那批邮箱发送是成功 小王拿到了别的TaskmsgId 所以,判断系统是没问题,只是msgId在并发过程中出了问题(拿到其他TaskmsgId了)...人肉Debug了一个午休时间还是没找出来:每个线程都独有一份操作对象,对象属性都没有逸出(都在方法内部操作),跟着整块链路一直传递,直至链路结束。看似没啥毛病啊,怀疑是不是方向错了。...所以小王能拿到其他TaskmsgId(小王线程设置完msgId之后,还没返回,三歪线程又更改了一次msgId,导致小王拿到三歪msgId了) ---- 总结: 终于知道为啥当初前同事在代码上保留了

    41440

    一次群聊吃瓜引发JS破解教程

    1 事情起因 这是aio老陈交流群里一位群友提问,交流群里大佬巨多,我想这个问题应该很快就会得到解决。 果不其然,很快有老哥给出了破解代码,默默点个赞,说句牛逼。...2 经过 我看到起因里有老哥给出解答后,也抱着试一试态度自己去试试,这次破解主要内容在aio老陈公众号写足够详细了,所以本文就说说我遇到几个卡住点,对这次解密做个笔记,便于之后复习回顾。...其实解密地方就在下面截图断点地方: 2.3 找到关键解密地方 通过两次F11调试,我找到了解密地方: 这里我遇到第二个坑,这里坑主要原因是我对调试工具不熟悉,我一直使用是F10调试功能...3 运行代码 这里是第三个坑: 抠出全部js代码后有一个坑地方,就是在js运行正常代码在python中调用时候出现报错,这个报错解决方案如下: 正常我们抠出js代码如下:(关键部分) 实际上在...,所以这里将JSON.parse移除了,返回parse前json字符串,同时为了防止这串字符串内有特殊编码字符,这里将它转成base64再return” -- Loco大佬 以上就是这次源自群聊js

    1.4K20

    一次愚蠢操作--String不可变性

    文本已收录至我GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 记录一次在写代码时愚蠢操作,本文涉及到知识点:String不可变性 一、交代背景...所以,这就排除了这个操作在中途被拦截情况(因为已经入库了,就肯定调用过短信运营商接口) 后来就去捞日志,看看调用短信运营商返回Result对象信息是什么,然后就去问了一下短信运营商可能出现这种问题原因是什么...不可变String 我觉得第一点是这样:我们操作往往是可变对象,对象某些属性改了,我们就认为已经改了。...我觉得第二点是这样:我们平时操作String对象,都是直接把操作结果传过去,这看起来就像修改原对象了一样。...返回一个新String对象 2.2 怎么改 现在问题已经知道了,String对象是不可变,对String对象进行操作,“看似”把原来String对象改了,实际上是生成了一个新String对象。

    47130

    Bruce.Wang-一次JS木马分析

    但是,随着 js 功能强大同时,也带来了更多安全隐患。由于 js 混淆效果多样,常见有 YUI Compressor、Google Closure Compiler、UglifyJS。...因为近期偶然发现一个 js 木马文件,所以想探寻一下 js 木马混淆方法和这个木马起作用。...但对人来说,还是可以判断分析出来: 下面就来分析一下,这个木马到底做了哪些操作。...第三层混淆就是通过 unicode 编码,利用特定数值替换,然后通过异或等数学方法得到代码明文,对下载恶意文件中字符进行解密操作。整个过程体现了对普通杀毒软件极强欺骗性和防御性。...也可以从行为分析角度再次验证 JS 执行过程,因为上面是从代码角度分析,难免有点点抽象,从 JS 实际操作过程分析,会更加直观。我们可以看到: 发现与分析基本一致。

    1.2K60

    一次 Nuxt.js 登录页性能优化

    由于 JS 文件在腾讯云 CDN 上面配置了协商缓存(etag),所以在第二次加载时候速度提升非常大,基本上不到 1s 就可以加载出来了。 那么这个大文件是什么文件呢?...本地执行了一次 analyze 后,得到构建图是这样,可以看出来 vendors 明显远比其他包都要大,尤其是 xlsx、iview、moment、lodash 这几个库,几乎占了一大半体积。...JS 文件了。...replace 掉(记得要把 link 标签里面预加载也一起替换掉) // nuxt.config.js config.optimization.splitChunks.cacheGroups.myVendors...,但是点击事件失效了,对比前后两次加载文件,差别只有这个 my-vendors.js,不清楚为什么点击事件失效,所以最终为了赶时间也就没使用这个方法。

    99010

    一次惊心动魄数据操作过程

    6、 split API属于资源密集型工作,对集群负载,比如CPU、磁盘、lOAD 负载比较高,在执行此操作前,建议用户对集群业务做一定降低,并升级集群配置,一定要保证集群有足够资源区执行此操作。...,这个是split操作正常流程,后面可用手动进行段合并,让分片大小降下来。...image.png 8、在切过程中,不要一次切太多分片,可以分批切割,这能减少此API切割带来节点负载高而导致OOM情况。...同时结合Rollover API,我们可以针对非时间序列索引进行滚动操作,大概流程图如下: image.png 这里,我大致操作步骤如下: 1,给用户指定2个ILM,每个ILM针对不同业务索引模式,...因此, 经过上面的操作,我们就已经顺利完成了用户集群后续超级大分片动态设置、集群索引长期规划管理问题。

    1.5K71

    一次jsoup使用

    Jsoup它解析HTML成为真实世界HTML。它与jquery选择器语法非常相似,并且非常灵活容易使用以获得所需结果。 安装-运行时依赖关系 <!...内容 outerHtml()获取元素外HTML内容 data()获取数据内容(例如:script和style标签) tag() and tagName() 操作HTML和文本 append(String...(它位置在DOM树中是相对于它父节点)小于n,比如:td:lt(3) 表示小 于三列元素 :gt(n):查找哪些元素同级索引值大于n,比如:div p:gt(2)表示哪些div中有包含...2个以上p元素 :eq(n): 查找哪些元素同级索引值与n相等,比如:form input:eq(1)表示包含一个input标签Form元素 :has(seletor): 查找匹配选择器包含元素元素...i)login) :matchesOwn(regex): 查找自身包含文本匹配指定正则表达式元素 注意:上述伪选择器索引是从0开始,也就是 提取给定URL中链接 Document

    1.5K30

    一次有趣溯源

    在某次攻防演练信息收集过程中,偶然发现伪装Github信息泄漏进而钓鱼红队人员后门。 下面展开有趣分析溯源过程。...0x01 信息收集 GIthub信息泄漏 根据甲方信息进行常规Github敏感信息收集偶然发现一个仓库不简单 这不是mysql账号密码泄漏了吗,愉快打开Navicat 失败....于是访问源码...还没发现异常 0x02 分析溯源 还好有谨慎习惯,放入虚拟机瞅瞅。 哦豁,竟然提示不兼容当前系统;看到弹窗有Pyhton代码编写特征。感觉到前面的打点由过于丝滑,不自然警觉了起来。...,pyc文件前8个字节会被抹掉,所以最后要自己添加回去。...另外这个钓鱼兄弟已经小本本记下了。。。 作者:Kat

    58130
    领券