網(wǎng)頁緊急自動轉(zhuǎn)跳(網(wǎng)頁緊急自動轉(zhuǎn)跳中頁面緊急升級)
一個周五的晚上,我舒適地躺在沙發(fā)上,《王者榮耀》和《米萊蒂》正在開心地偷塔。突然,一個電話打了進來,當(dāng)我看到老板時,我有一種不祥的預(yù)感:看來這場比賽不能善終了,我的兄弟們很抱歉。
果不其然,事情是這樣的:某機構(gòu)運行多年的大型門戶網(wǎng)站突然發(fā)現(xiàn)掛馬病毒現(xiàn)象,頁面會自動跳轉(zhuǎn)到帶有顏色的網(wǎng)站。某機構(gòu)的大領(lǐng)導(dǎo)非常生氣,影響非常惡劣,要求不惜任何代價恢復(fù)正常。
我掛了電話,登上微信,發(fā)現(xiàn)自己被拉進了交流群。群里已經(jīng)炸了,大領(lǐng)導(dǎo)很生氣。幸運的是,這個網(wǎng)站不是我們團隊開發(fā)的。據(jù)說負責(zé)開發(fā)的團隊已經(jīng)調(diào)查了一段時間,但沒有任何進展。
為網(wǎng)站清除特洛伊病毒有這么難嗎?
我問對方要了服務(wù)器管理賬號的密碼,發(fā)現(xiàn)這個服務(wù)器的安全等級真的夠高。我需要掛VPN,然后登錄堡壘機器,最后我可以進入服務(wù)器。服務(wù)器的安全級別已經(jīng)這么高了,網(wǎng)站還是可以掛的。看來漏洞一定在網(wǎng)站的源代碼中。
再看服務(wù)器環(huán)境,是Windows系統(tǒng)+IIS7+PHP的組合。
然后問題又出現(xiàn)了,具體跳轉(zhuǎn)情況如下:用搜索引擎搜索網(wǎng)站的關(guān)鍵詞,在搜索結(jié)果中輸入網(wǎng)站,然后網(wǎng)站被重定向到一個彩色的垃圾網(wǎng)站;直接在瀏覽器地址欄輸入網(wǎng)址,不跳轉(zhuǎn)即可正常訪問;
以下是一個彩色網(wǎng)站的截圖:
很奇怪,只有從搜索引擎的搜索結(jié)果中訪問網(wǎng)站才能自動跳轉(zhuǎn)。
根據(jù)之前的調(diào)查經(jīng)驗,既然會自動跳轉(zhuǎn)到其他網(wǎng)站,那么一定是在源代碼中添加了跳轉(zhuǎn)代碼,可能對訪問來源做了一些判斷,只有搜索引擎的訪客才能跳轉(zhuǎn)。
反正既然能跳,跳碼里肯定有垃圾站的域名。我們先全局搜索一下垃圾站的域名。
把整個門戶網(wǎng)站的源代碼下載到本地才敢隨意折騰。好家伙,這個門戶運行了近十年,源代碼壓縮到20G,有點嚇人。按照這個服務(wù)器5M的帶寬,恐怕要下載到永恒了。所以對代碼結(jié)構(gòu)的簡單研究排除了一些圖片上傳目錄,只留下了幾百兆,最終在很長時間后下載完成。
用代碼編輯器打開項目,發(fā)現(xiàn)網(wǎng)站是用已經(jīng)絕跡多年的小眾CMS系統(tǒng)開發(fā)的。網(wǎng)上搜索了很多關(guān)于這款CMS的信息,我不了解這么多優(yōu)秀的開源CMS,所以我必須使用這款。
不管有多少,直接全球搜索垃圾網(wǎng)站域名,當(dāng)然什么也沒找到。在這種情況下,黑客肯定對域名進行了加密或編碼,最常見的是Base64,因此將域名編碼為Base64并繼續(xù)搜索,但仍然一無所獲。
然后我搜遍了很多不良網(wǎng)站的關(guān)鍵詞,一無所獲。
看來這個黑客不是什么善茬。
最后,我不得不使用愚蠢的方法:檢查每個文件。
通常黑客植入的病毒代碼是由工具自動編寫的,代碼的編寫風(fēng)格會與網(wǎng)站的原始風(fēng)格格格不入,如縮進、變量命名規(guī)范、文件命名格式等。,所以很有可能找到一個又一個文件。
總之,我終于在緩存目錄中發(fā)現(xiàn)了一個異常文件。
這個11.php太引人注目了。
以URL的形式訪問這個11.php。打開后,它看起來像這樣:
現(xiàn)在我看到了希望,這是一款功能齊全的遠程操作工具。有了這個,不僅網(wǎng)站代碼可以隨便更改,甚至服務(wù)器也可以隨意操縱。
圍繞這條線索,發(fā)現(xiàn)了許多病毒文件,并將其全部清除。
按照這個進度,我今晚應(yīng)該能有幾輪米拉迪,我的心開始變得美麗了。
但是,再次測試后,網(wǎng)站仍然自動跳轉(zhuǎn)到垃圾站!
是瀏覽器緩存問題嗎?清除瀏覽器緩存,問題仍然存在。
是服務(wù)器緩存問題嗎?清理服務(wù)器緩存,重新啟動IIS,問題仍然存在。
我震驚了。
然后整個團隊又罵罵咧咧的看了一遍所有的網(wǎng)站文件,真的沒有病毒代碼。
代碼是干凈的,不可能再次跳轉(zhuǎn),但事實就擺在我們面前。
不管有多不可思議,雖然我已經(jīng)忙了很久,但我最終不得不承認,跳轉(zhuǎn)到垃圾站的不是網(wǎng)站的源代碼。
既然不是源代碼問題,那肯定是IIS問題。是301重定向嗎?
打開重定向面板,發(fā)現(xiàn)什么都沒有配置,然后檢查web.config,沒有異常。
在這種情況下,只需刪除現(xiàn)有的網(wǎng)站服務(wù),重新創(chuàng)建應(yīng)用程序池,重新綁定域名和目錄,在一次操作后再次訪問網(wǎng)站,仍然會跳轉(zhuǎn)到垃圾站!
這個時候我的內(nèi)心是絕望的,所以我今晚不想睡覺。
然而,那句話是怎么說的:
“只要努力,就有希望。”
“我們現(xiàn)在面臨的問題可能正在好轉(zhuǎn)。”
當(dāng)我再次重啟網(wǎng)站時,IIS突然報告了一個錯誤:
HttpResetModule.dll,為什么我沒見過這東西?網(wǎng)上查了一下沒看到這個東西的介紹。最后,我大膽地懷疑這個東西是不是不應(yīng)該存在。
為了早點睡覺,我打算把這個模塊刪掉看看。
進入IIS模塊管理:
在列表中找到HttpResetModule,刪除它!
順利刪除了,然后又測試了一遍。網(wǎng)站沒有跳轉(zhuǎn)到垃圾站!
天啊。黑客居然做到了這一步!
到這里我才完全明白,黑客實際上改造了IIS,對方用power lifting工具獲得了服務(wù)器控制權(quán)限,然后在IIS中添加了一個額外的重定向模塊,并在網(wǎng)站中植入了如此多的特洛伊病毒文件作為煙霧彈。真正的兇手實際上在IIS模塊中,而且黑客的個子真的很高。
看來這個服務(wù)器環(huán)境完全不安全,重裝系統(tǒng)是必然的。另外,這個網(wǎng)站是用CMS系統(tǒng)開發(fā)的,漏洞太多,重建是必然的,否則再次被入侵只是時間問題。這與我們的團隊無關(guān)。
簡而言之,清除特洛伊病毒的難度仍然相對較高。雖然我很累,但我覺得很充實。最后把結(jié)果發(fā)到領(lǐng)導(dǎo)群里,表揚的話都跳過了。