避免WordPress泄露管理員用戶名的方法

2013-04-28 17:10:18來源:福音樂章作者:

WordPress 雖然很好用,但是安全問題不容忽視。很多網(wǎng)站都說要設(shè)置一個復雜的密碼等,但是,這都只做了一半。

WordPress 雖然很好用,但是安全問題不容忽視。很多網(wǎng)站都說要設(shè)置一個復雜的密碼等,但是,這都只做了一半。

你有沒有想過,如果你的網(wǎng)站的登陸名被別人知道了,偏偏他是一個比較精通 WordPress 的人,而且會寫腳本暴力破解,那么后果就不堪設(shè)想。

實際上,Wordpress 這么一個漏洞,至今依然存在,并且常常會被黑客利用。

我在本地裝了一個 WordPress 來演示一下這個漏洞。

這里就是我的 WordPress 安裝路徑:

wp-domain

然后去后臺開啟固定鏈接。我相信很多 WordPress 的站長都會開啟這個功能。運行 WP-Super-Cache 需要開這個功能,想要讓 URL 好看一點也需要這個功能——總之,這個功能太有用了。

Wordpress-URL

但是,固定鏈接一開,泄露用戶名的漏洞也就打開了。實際上,即使沒有開固定鏈接,Wordpress 自身也會泄露一些重要信息,但是開了固定鏈接以后就更容易泄露了。

想要知道 WordPress 的管理員用戶名?很簡單,只要在網(wǎng)站的域名后面加 /?author=1 就行了。

wp-username

如果  /?author=1 顯示404界面,那很可能是以前有過 admin 用戶,后來站長發(fā)現(xiàn)用默認帳戶 admin 太不安全了,就新建了一個管理員帳戶,并刪除了 admin 帳戶。這種情況下,用 /?author=2 就能顯示出用戶名了。

如果使用 admin 帳戶,確實不安全,但是如果你的博客使用一個復雜的用戶名,卻經(jīng)不起這么簡單的一個 URL 的考驗,這和使用 admin 帳戶沒有根本上的區(qū)別。

既然存在漏洞,那么就要去填補它。要填補這個漏洞,倒還真的不是什么難事。

但是要填補這個漏洞,先要了解下 WordPress 的數(shù)據(jù)庫中的 wp-user 的結(jié)構(gòu)。

phpmyadmin-user

可以看到,一個用戶有兩個用戶名,一個是“user_login”,另一個是“user_nicename”,這兩個有什么區(qū)別呢?

user_login 是登陸名,而 user_nicename 是在url 中顯示的名字。最前面還有一個 ID ,ID=1 的用戶,就是輸入 /?author=1 顯示出來的用戶。

好了,知道了這些,我們就可以動手了~

我的思路是,把舊用戶的登陸名改掉,然后在新建一個與登陸名舊用戶的 user_nicename 一致的用戶,并修改其 ID 。

首先是最重要的一步,備份數(shù)據(jù)庫,萬一搞砸了也不怕。

首先是要更改一下自己登陸 WordPress 的用戶名。這個用戶名是在 user_login 里,將其改得復雜一點,而 user_nicename 不變。

然后在 WordPress 的后臺新建一個新的用戶,用戶名為之前的 admin 用戶的 user_nicename 。再次進入phpMyAdmin,可以看到,新用戶的 ID 為 2,user_login 與之前用戶的 user_nicename 一樣,但是 user_nicename 后面卻多了一個 -2 。這是 WordPress 官方為避免地址欄里是 /author/admin 卻不知道究竟該顯示哪個 admin 而設(shè)計的功能。

把新用戶的 user_nicename 改一下,比如改成 admin-fyyz.me ,只要不與別的用戶的 user_nicename 一樣就行了。然后修改新用戶的 ID ,盡量改得大一些,避免被 ?author=n 泄露。

然后,把新用戶的權(quán)限降到最低——訂閱者,或者沒有任何角色。

大功告成!

注:1、本文中的截圖是在本地的 WordPress 中截的,我的本地 WordPress 就隨便用了一個 admin 帳戶。在實際使用中,大家應(yīng)該盡量避免使用 admin 帳戶。

2、建議大家再去安裝一個 Login LockDown 插件。

關(guān)鍵詞:WordPress

贊助商鏈接: