前一陣子 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 文件即可。