前一陣子 WordPress 全球攻擊事件在部落格圈子裡流傳開來,很多使用 WordPress 搭建部落格的博主都惶惶不可終日,生怕下一個被攻擊的就是自己,其實大家不用為此擔心那些被攻擊的部落格都是些不注意站點安全的部落格而已,他們都使用了 admin 的預設使用者名稱,所以導致部落格網站被黑。最近小編在無意中發現就算不用 admin 的預設使用者名稱也能爆出 WordPress 的管理員賬戶,而且在任何版本的 WordPress 站點上都有效。

透過

https://www.weixiaoduo.com/?author=1

這種形式的連結訪問 WordPress 就會轉跳到類似於

https://www.weixiaoduo.com/author/admin/

的這類連結其中的 admin 就是管理員賬號了,得到帳號就可以用 WordPress 密碼窮舉器來進行密碼爆破了。 (PS:連結中的/?author=1 其中的 1 是管理員 id,預設情況下都是 1 的,如果不是 1 我們也可以用 1-100 之間的數字來試。)

那怎麼來預防呢?WordPress 官方檔案裡有一個定義在使用者登入錯誤後提示資訊的 hook,我們可以用這個函式來修改登入錯誤資訊了,這樣就可以有效的防止密碼窮舉了。

function failed_login() {
    return '這是填寫自定義的錯誤提示資訊';
}
add_filter('login_errors', 'failed_login');

將函式填入當前主題的 functions.php 檔案即可。