记一次BootCDN被黑产挂马导致站点跳转博彩网站的问题
近期发现公司某些站点出现偶尔跳转博彩网站的现象,经过排查发现该现象为供应链投毒攻击,BootCDN上的静态资源无一例外均被污染,
当外站引入BootCDN的静态资源时,如果请求携带的Referer头为指定值(涉及公司隐私不便透露),User-Agent头为手机浏览器UA,触发恶意代码注入。
例如:
https://cdn.bootcdn.net/ajax/libs/react/18.2.0/cjs/react-jsx-dev-runtime.development.js

使用指定的Referer和User-Agent头后


恶意代码首先会检查User-Agent是否包含Mac和Win即在PC端浏览器不会触发恶意动作,并且Referer中包含“.”字符时开始执行恶意函数(nRgmSS),
该函数会动态创建script标签到网页头部,src指向https://union.macoms.la/jquery.min-4.0.2.js,该文件是一个伪装成jquery库的恶意文件,该文件中含有跳转代码,
并根据规则提供两种植入广告的方式,直接跳转和底部浮动广告。
该文件还会向网页头部尝试添加51.la提供的站点访问统计js(https://js.users.51.la/13553579781.js),并以该js作为开关成功加载后执行跳转,未成功加载时,则
无任何动作,也就是攻击者可以通过开关51.la后台提供的功能动态选择是否实施攻击。还有部分cookie的判断,即存在某些cookie或网页已经加载过恶意代码后就
不在继续加载。
结论:
该攻击方式为典型的供应链投毒攻击,攻击者在服务器端根据Referer和User-Agent实施定向恶意代码注入,非常隐蔽,恶意代码作为加载器再进一步加载其它的恶意
js文件,进而实施攻击。能实施这种攻击服务器权限应该已经被攻击者拿下,因此不建议再使用BootCDN的静态资源文件。
记一次BootCDN被黑产挂马导致站点跳转博彩网站的问题的更多相关文章
- centos监控web目录www下的文件是否被黑、挂马的脚本
.检查是否有安装inotify rpm -qa inotify-tools 2.没有先安装epol源 wget -O /etc/yum.repos.d/epel.repo http://mirrors ...
- 新型赌博黑产攻击肆虐网吧: LOL博彩引流+棋牌盗号
https://mp.weixin.qq.com/s/BxnovV6jKqPkYfHEzjd_FA 新型赌博黑产攻击肆虐网吧: LOL博彩引流+棋牌盗号 看雪学院 2019-04-21
- 记一次挂马清除经历:处理一个利用thinkphp5远程代码执行漏洞挖矿的木马
昨天发现 一台服务器突然慢了 top 显示 几个进程100%以上的cpu使用 执行命令为 : /tmp/php -s /tmp/p2.conf 基本可以确定是被挂马了 下一步确定来源 last 没有 ...
- dedecms被挂马排毒的过程
又经历了一次dedecms被挂马排毒的过程,排毒过程在这里跟大家分享一下. 挂马之后,网站的表现形式: 直接访问网站没有任何问题,从百度搜索的关键词访问网站,就跳转到另外一个网站. 根据我原来的排毒经 ...
- JS挂马攻防
JS挂马攻防实录 攻现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行(图1), ...
- wordpress网站被挂马以及防御方法
wordpress本身的安全性是非常的高的,一般不会被轻易的破解,被挂马,但是我们也不能够过度迷信wordpress的安全性,凡是连接上互联网的服务器和电脑,都存在被破解的风险性.所以我们在日常维护自 ...
- sqlserver防止数据库挂马新尝试
想法不错,放着以后应该会有用 网站挂马非常让人头痛,每次的安全措施都是治标不治本,想找到根本原因,只能去分析你的程序源代码,由于很多网站不是一个程序员开发,很多的注入漏洞很难发现,曾经通过公共文件加入 ...
- Android WebView挂马漏洞--各大厂商纷纷落马
本文章由Jack_Jia编写,转载请注明出处. 文章链接: http://blog.csdn.net/jiazhijun/article/details/11131891 作者:Jack_Jia ...
- 检测网站挂马程序(Python)
系统管理员通常从svn/git中检索代码,部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员 ...
- 常见JS挂马方法及如何防止网站被黑客挂马?
最近有朋友说自己的网站平时并未作弊,文章也都是原创的,更新很稳定.可不知道为什么网站突然就被各大搜索引擎降权了,一直找不到原因.最后发现是网站被挂马了,导致网站被连累了.在此,借助马海祥博客的平台,给 ...
随机推荐
- ES6中的解构赋值(数组,对象,嵌套,默认值)
解构赋值 通过解构赋值,可以快速从对象或者数组中取出属性或者数值. 解构赋值 可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量. const arr = ['dasha', 'ers ...
- pack.json中的^ ~的区别
在版本说明前面还有个符号:'^'(插入符号)和'~'(波浪符号),他们之间的区别:例如: '~'(波浪符号):他会更新到当前minor version(也就是中间的那位数字)中最新的版本.放到我们的例 ...
- Qt源码阅读(三) 对象树管理
对象树管理 个人经验总结,如有错误或遗漏,欢迎各位大佬指正 @ 目录 对象树管理 设置父对象的作用 设置父对象(setParent) 完整源码 片段分析 对象的删除 夹带私货时间 设置父对象的作用 众 ...
- 多精度 simulator 中的 RL:一篇 14 年 ICRA 的古早论文
目录 全文快读 0 abstract 1 intro 2 related work 3 背景 & 假设 3.1 RL & KWIK(know what it knows)的背景 3.2 ...
- Ubuntu2204部署容器引擎Containerd
为什么使用containerd? 使用containerd的原因主要有两点吧,第一个是docker在k8s1.24以后不再支持,如果需要在k8s中继续使用docker作为容器引擎,我们需要额外部署cr ...
- STM32新建模板【HAL库】
看到这篇笔记的小伙伴可能会觉得我在做无用功,明明可以通过 STM32CubeMx 软件直接生成的,还在这里慢慢的创建项目.我觉得在学习的时候最好少借助工具,当我们过度依赖工具的时候,决绝问题的能力可能 ...
- 如何使用Redis做缓存
如何使用Redis做缓存 我们都知道Redis作为NoSql数据库的代表之一,通常会用来作为缓存使用.也是我在工作中通常使用的缓存之一. 1.我们什么时候缓存需要用到Redis? 我认为,缓存可以分为 ...
- jquery实现一个网页同时调用多个倒计时
<div class="time countdown_1" data-time="1449429731"> <span class=" ...
- GDOU-CTF-2023新生赛Pwn题解与反思
第一次参加CTF新生赛总结与反思 因为昨天学校那边要进行天梯模拟赛,所以被拉过去了.16点30分结束,就跑回来宿舍开始写.第一题和第二题一下子getshell,不用30分钟,可能我没想那么多,对比网上 ...
- ES6 新增的一些特性
还有symbol和set,map, bind,call,apply 1. let关键字 (1)基本用法:let关键字用来声明变量,它的用法类似于var,都是用来声明变量. (2)块级作用域:let声明 ...