检查你的网站受到黑客攻击了吗
另一种常见的恶意软件网站来自黑客攻击。黑客攻击是第三方在安全性很低的网站上插入代码或可执行文件。一个常见的例子是"注入攻击",即黑客利用安全漏洞来在你的一个网页上注入有害代码。通常这个代码对你及你的用户来说是不可见的,但它会在一个访问者的电脑后台触发恶意软件的下载。你经常通过察看你的网页的源代码来发现这种攻击是否发生,从而确定它是否包含你从来没写过的任何代码。
两种常见的"注入攻击"类型是:
无形的隐藏框架(invisible iframe)
Iframe标签是一种HTML标签。一个iframe在一个网页上创建一个小"窗口",在这个内嵌窗口中可以载入另一个页面。Iframe并非总是用于不可告人的目的; 它被经常用来,举例来说,在博客中嵌入一个视频。当恶意黑客使用它时,iframe可以被设置成小到看不见。访问受感染网页的用户永远不会知道另一页也在小iframe窗口里被载入。如果你在你网站上的一页中看到一个iframe的宽度是"0",高度也是"0"的代码,你就找到了一个看不见的iframe。Iframe最常见的是被插在网页源代码的最上端或最底端。检查iframe应首先检查开始网页标准代码的<html>标签前,或结束网页代码的</html>标签后。
混淆代码 (Obfuscated Code)
混淆代码或脚本通常被隐藏在你的网站正常代码中,所以他们可以很难被察觉。这些代码是专门为了防止自动化查找工具发现他们。混淆代码不一定是恶意软件; 一些合法的编程者故意混淆编码以防止他人复制自己的工作。但是,如果你为你网站写的代码并不是想故意混淆,找到一块混淆代码可能说明有一个注入攻击。最常见的两种混淆代码的方式是通过编码和加密。
编码有时会很容易被看到,因为编码或者使用十六进制, "unicode”, 或“宽"字符。如果是十六进制字符,你会看到javascript代码的字符串由一些百分号后加两个字符的组合组成(例如%AA%BB%CC)。如果是unicode字符,你会看到字符串由一些"\u"紧随着四个字符组成(例如:
\u0048\u0069\u0021)。一般而言,编码成这种方式的代码块会占用若干段落。如果您在你的网页源代码里发现大块上述模式中的任何一种,它很可能是混淆代码。
加密代码更难被找到,因为他们没有一套模式。然而,加密代码看上去会像一块费解的文字。即使你不熟悉javascript编程,你会注意到你的网站上正常的javascript代码会使用基于常用英语单词的语法。编码或加密了的文本看上去就是完全不能理解的字母,数字和符号块。你应检查你网站日志来看看有没有对你所不认识的可执行文件的引用。可执行文件的扩展名包含.exe, .bat, .cmd, .scr, 以及.pif。
虽然大多数黑客的攻击重点是html代码,坏软件本身也有可能被上载到安全性很差的网站。不良软件可能包括不明的可执行文件(譬如以.exe, .bat, .cmd, .scr, 以及.pif结束的文件),javascript文件,甚至把图片上传到您的网站而你并未发觉。有时攻击者仅仅想利用你的网站来寄存恶意软件,然后从其它受害网站链接到该软件。这里有一个检测你的网站是否被寄存了不良软件的方法,即从你的正在运行的网站中下载所有的源代码到一个虚拟机,然后使用反病毒或反间谍程序进行扫描。