题记:如果你是从搜索引擎搜到这里的,我相信你一定非常着急,废话不多说,直入主题。其余感悟我挪到文章最后说。
我这里讨论是博客最近被 ARP 攻击的例子,烦死了。表现形式为网站被 iframe 挂马,弹出大量色情网站,问题出现了 11 个小时,这 11 小时都在血泪的探索中解决。

判断 ARP 攻击方法
一台服务器几乎所有网站打开网页 HTML 都被自动加上如这种样式的代码,有的在头部,有的在尾部,部分杀毒软件打开会报毒,打开 HTML 或 ASP、PHP 页面,在源码中怎么也找不到这段代码。
首先你可以随意建一个 HTML 文件上传到服务器,通过网站打开,如发现这个文件加入了 iframe 代码那说明中招了。
解决办法
第一种方法:检查 IIS 文档页脚

注意红框处,无特殊情况文档页脚是不会被启用的,如果你看到这里勾选并指向了一个本地 HTML 文件,你可以打开指向本地文件查看是否为木马病毒代码。
第二种方法:检查 MetaBase.xml 文件
MetaBase.xml 是 IIS 里的一个配置文件,位置是:
C:\WINDOWS\system32\inetsrv\MetaBase.xml
检查是否被添加上如下一段代码:
AccessFlags="AccessRead | AccessScript"
AppFriendlyName=" 默认应用程序 "
AppIsolated="2"
AppRoot="/LM/W3SVC/81120797/Root"
AuthFlags="AuthAnonymous | AuthNTLM"
DefaultDocFooter="FILE:C:\WINDOWS\system32\Com\iis.htm"
DefaultDocFooter= 后面一般都是跟一个本地的文件,木马病毒就在这里了,把这段删除即可。
特别提示:MetaBase.xml 无法直接修改,需要停止 IIS 服务才能修改,或者在 IIS 管理器中右击本地计算机 – 选择属性,勾选 " 允许直接编辑配置数据库 ",这样就可以在不停止 IIS 的情况下编辑 metabase.xml 文件。
第三种方法:检查 ISAPI 筛选器
目前这些 DLL 加载的文件,任何一款杀毒软件和杀木马软件还不能有效发现并杀掉,还得靠肉眼来实现。所以方法也很简单:
打开 IIS,右键点击网站,属性 —— 找到 ISAPI 选项卡,检查下里面是否多了一些陌生的 DLL 文件。如果有陌生的 DLL 删除,重启 IIS 即可。

第四种方法:检查 global.asa 木马
先解释一下这个代码的作用:因为 global.asa 文件是网站启动的文件,当一个网站被用户访问的时候,会执行 Application_Start 代码段的内容,当一个用户第一次访问时会执行 Session_Start 代码段的内容,所以此段代码的作用就是当访问的时候自动下载获取木马内容,上面遇到的就是跳转性作用的木马代码。
global.asa 木马一样平常不会影响网站的正常运行,黑客一样平常行使 global.asa 木马不是为了来破坏网站的运行,他们与网站黑链类似,一样平常是对网站的搜索引擎收录产生特别很是恶劣的影响。常体现为搜索引擎收录大量莫名其妙的网站题目,而这些题目绝对不是本身网站发布的内容,点击链接进入的依然是本网站的页面,但题目不同,点击百度快照发现百度提醒:“ 对不起,您所查看的网页不许可百度保存其快照,您可以直接访问某某网址 ”,没错! 这说明你的网站已经中招了! 它的直接后果是网站在搜索引擎的排名降落或者彻底消散,紧张的还会让访问者在访问你的网站的时候电脑中毒!

global.asa 这个文件一般是在根目录下的,属于系统文件只能在 cmd 命令下强制删除。如果自己不会删除的话你可以找自己的空间商让他们给你删除这个木马。
特别提示:以上方法均不起作用
上面提到的这些防 ARP 攻击的方法,都是从网上搜的,所有的方法起码重复了三遍,但是问题依旧没有解决,后面才知道,IFRAME 被植入有两种情况:
一、就是有人在你的 IIS 上动了手脚,方法查找被修改的配置文件,或直接重装。
二、如果你重装还是没有解决,那就是 ARP 欺骗攻击,和你同一个服务器的局域网段的其他服务器有问题,装 ARP 防火墙和向网管反映这个情况。解决这个问题要使用排除法找到真正原因,对症下药:)
花了大量时间排查,整整耽误了 11 个小时,后面才恍然大悟,原以为是自己服务器出问题了,没想到是局域网段其他服务器的问题。后面装了个 360ARP 防火墙才解决此问题。
扩展阅读:
ARP 欺骗原理:
在局域网中,通信前必须通过 ARP 协议来完成 IP 地址转换为第二层物理地址(即 MAC 地址)。ARP 协议对网络安全具有重要的意义,但是当初 ARP 方式的设计没有考虑到过多的安全问题,给 ARP 留下很多的隐患,ARP 欺骗就是其中一个例子。而 ARP 欺骗攻击就是利用该协议漏洞,通过伪造 MAC 地址实现 ARP 欺骗的攻击技术。
在同一局域网内的电脑都是通过 MAC 地址进行通讯的。方法为,PC 和另一台设备通讯,PC 会先寻找对方的 IP 地址,然后在通过 ARP 表 (ARP 表里面有所以可以通讯 IP 和 IP 所对应的 MAC 地址) 调出相应的 MAC 地址。通过 MAC 地址与对方通讯。也就是说在内网中各设备互相寻找和用来通讯的地址是 MAC 地址,而不是 IP 地址。
网内的任何一台机器都可以轻松的发送 ARP 广播,来宣称自己的 IP 和自己的 MAC. 这样收到的机器都会在自己的 ARP 表格中建立一个他的 ARP 项,记录他的 IP 和 MAC 地址。如果这个广播是错误的其他机器也会接受。有了这个方法欺骗者只需要做一个软件,就可以在局域网内进行 ARP 欺骗攻击了。
ARP 的发现:
ARP 的通病就是掉线,在掉线的基础上可以通过以下几种方式判别,1. 一般情况下不需要处理 1 分钟之内就可以回复正常上网。因为 ARP 欺骗是由时限,过了期限就会自动的回复正常。而且现在大多数路由器都会在很短时间内不停广播自己的正确 ARP,使受骗的机器回复正常。但是如果出现攻击性 ARP 欺骗(其实就是时间很短的量很大的欺骗 ARP,1 秒有个几百上千的),他是不断的通过非常大量 ARP 欺骗来阻止内网机器上网,即使路由器不断广播正确的包也会被他大量的错误信息给淹没。2. 打开被骗机器的 DOS 界面,输入 ARP - A 命令会看到相关的 ARP 表,通过看到的网关的 MAC 地址可以去判别是否出现 ARP 欺骗,但是由于时限性,这个工作必须在机器回复正常之前完成。如果出现欺骗问题,ARP 表里面会出现错误的网关 MAC 地址,和真实的网关 MAC 一对黑白立分。
下面在谈谈几款 ARP 防火墙的使用感受:
安全狗
我首先想到的是安全狗,在服务器这块很出名,ARP 攻击后,我第一时间装上了,这也是我悲催的开始。装好软件后,点 “ 体检 ”,当初我还以为是查到木马了要重启,结果服务器开不了机了,反反复复好几次,我就意识到这不是杀毒呢,而是服务器关机了。
由于是周末,IDC 值班人少,反复的关机、开机浪费了整整 4 个小时。最后才明白应该就是安全狗和服务器什么东西有冲突导致的。
网站地址:http://www.safedog.cn/
D 盾
好几个朋友向我推荐了 D 盾,尤其是他的 Web 查杀工具,这款工具能够非常详细的检查每一个程序文件是否被挂马。正是因为用了这款工具检查后,我才意识到卢松松博客程序没有问题,
网站地址:http://d99net.net/
360ARP 防火墙
上面两个都有 ARP 防火墙的,装上之后发现没一个管用的(也许是不会用的关系),后面装了 360ARP 之后,iframe 挂马立刻消失。为了确定到底能否使用,我反复启动和关闭软件几次,可以确定 360ARP 确实起作用了。
通过追踪 ARP 攻击来源,发现是同局域网下另一台服务器总是向我发送 ARP 欺骗请求,后面通过 IP 查到域名,通过域名找到了邮件,给她发了封邮件告诉她服务器被黑了。
强烈推荐一下 360ARP,帮我解决了大问题:
免费的 360ARP 防火墙的下载地址是:http://dl.360.cn/360AntiArp.exe
写在最后:
说一千道一万,还是服务器安全做的不到位,ZSX 告诉我:你博客真遭人黑,通过日志查到了各种扫描器。