需要用到的工具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 (默認即可)
默認即可,直接下一步
選擇阻止,直接下一步取好名稱就設置完成了
最終效果