隐藏

记windows server 2012 iis出现百度快照劫持的处理过程

发布:2019/12/16 8:24:31作者:管理员 来源:本站 浏览次数:1250

需要用到的工具filemon下载地址:FileMon for Windows v7.04

上周五晚接到有客户反应,网站打开很慢,而且百度通过site命令搜索该网站有很多博彩信息,第一反应就是网站出现了百度快照劫持的问题。初步判断是网站从百度快照打开时程序一定加了来源判断从而获得菠菜网站的数据。

于是通过下载服务器安全狗WebShellKiller工具检测,然后人工检查js及相关动态文件都没有找到该木马的踪影。然后检测服务器其它网站也有同样的问题,百度快照首页信息都被嵌入了菠菜信息。

通过进一步分析,从百度快照打开的网页,发现在服务器的网站文件夹里很多都是不存在的,如果不从百度快照打开,直接输入网址打开是404错误。证明这个目录在服务器的网站文件夹中是不存在的,也没有虚拟目录。

 

通过百度站长工具,服务器上的所有网站通过抓取诊断工具分析都加了一段代码:

 

那就证明不是单个网站的问题,于是把所有网站关闭,搭建了一个测试环境

 

网站目录文件

header上加了 referer:https://www.baidu.com

header分析【为了说明引用了另一个网站的header】

 

 

 

直接访问网址显示404错误

 

 怀疑可能是iis加载了非法模块,为了快速恢复,于是计划重新安装iis再测试下。、

 

iis备份站点(不会备份源文件)

 

appcmd命令 位置:C:\Windows\System32\inetsrv

备份命令:appcmd.exe add backup backupname(备份名称)

备份文件地址(可将此文件拷贝到其它地方)

列出备份:

appcmd.exe list backup

恢复备份

在恢复一个备份时,IIS停止运行,并且重写服务器的状态。一旦配置文件被重写,IIS随即重新启动。如果不希望IIS停止运行并重新启动,那么可以是使用/stop:false。这样,就可以在合适的时间手动停止IIS运行,并手动重新启动IIS

appcmd.exe restore backup  /back.name:"XXX" /stop:false

appcmd.exe  restore backup /backup.name:"XXX"

删除备份

appcmd.exe relete backup  XXX

备份好后,删除以下文件夹:(删除iis时不会自动删除,需要手动删除,删除时最好备份一下)

C:\Windows\System32\inetsrv
C:\Windows\SysWOW64\inetsrv
C:\inetpub

 

删除IIS请参考:https://jingyan.baidu.com/article/bad08e1e85e98009c951216e.html

删除后然后按照删除去掉的windows功能重新再添加上。添加上后,测试默认网站的请求,并没有问题,哪就说明iis没有问题

于是通过appcmd命令恢复iis的备份再测试的时候,网站又重新出现了百度快照劫持的问题,这就怀疑可能是网站配置方面可能哪个地方出现了问题,通过百度查找,最后找个一个监控服务器进程的工具 filemon,

这个工具可以监控指定进程处理事件过程

下载后,filter( ctrl+L 快捷方式))设置只显示w3wp.exe进程

 

路径(Path)设置包括(contains) hot2019路径名,然后点击添加(Add) 点击下面的OK 即可

经过请求分析,tests.szqj.com在向服务端发送请求时,同时服务端向同一个Ip地址 发送了请求,猜测是通过这个请求返回了菠菜信息数据,且其它正常连接不需要向远程发送tcp请求,于是通过防火墙屏蔽w3wp的远程连接功能,然后再通过来源为百度测试没有了数据。

解决方案: IIS (w3wp.exe)不需要通过tcp协议向远程连接,于是通过自带防火墙禁用这个进程的tcp连接

 自定义规则

选择w3wp.exe 程序

选择ip (默认即可)

默认即可,直接下一步

选择阻止,直接下一步取好名称就设置完成了

 

最终效果