正文:
本文将介绍 WordPress 管理员用户名泄露的原因以及如何保护自己的管理员账户。主要内容包括使用实例、应用技巧、基本知识点总结和注意事项。对于需要的读者来说,具有一定的参考价值。
获取 WordPress 管理员账户并不困难,尽管管理员账号的用途有限,但也不能排除一些用户使用简单的数字密码。攻击者可以通过暴力破解或撞库成功来获取后台管理员账户。
那么,攻击者是如何获取你的 WordPress 管理员用户名的呢?以及如何保护自己的管理员账户不被获取?本文将详细讨论这些问题!
1、先说说管理员账户如何泄露
攻击者或攻击程序可以通过构造 URL(https://你的域名/wp-json/wp/v2/users/)进行 GET 请求,从而获取到包含管理员账户信息的返回结果。例如,上述信息显示 imotao 是管理员账号,实际上已被隐藏,这里仅作演示之用。
如下:
[{"id":1,"name":"u964cu6d9b","url":"https://www.imotao.com","description":"u8fd9u4e2au535au4e3bu5f88u61d2uff0cu61d2u6b7bu4e86u3002","link":"https://www.imotao.com/author/imotao","slug":"imotao","avatar_urls":{"24":"https://secure.gravatar.com/avatar/da2867019057f50c669f3db99c7edf91?s=24","48":"https://secure.gravatar.com/avatar/da2867019057f50c669f3db99c7edf91?s=48","96":"https://secure.gravatar.com/avatar/da2867019057f50c669f3db99c7edf91?s=96"},"meta":[],"_links":{"self":[{"href":"https://www.imotao.com/wp-json/wp/v2/users/1"}],"collection":[{"href":"https://www.imotao.com/wp-json/wp/v2/users"}]}}]
2、确认是否使用了wordpress 程序
另外,攻击者或攻击程序还可以通过构造 URL(https://你的域名//wp-includes/wlwmanifest.xml)进行 GET 请求,以确认你是否使用 WordPress 程序,并获取你的后台登录地址。因此,修改后台登录地址非常重要。
<manifest xmlns="http://schemas.microsoft.com/wlw/manifest/weblog">
<options>
<clientType>WordPress</clientType>
<supportsKeywords>Yes</supportsKeywords>
<supportsGetTags>Yes</supportsGetTags>
</options>
<weblog>
<serviceName>WordPress</serviceName>
<imageUrl>images/wlw/wp-icon.png</imageUrl>
<watermarkImageUrl>images/wlw/wp-watermark.png</watermarkImageUrl>
<homepageLinkText>View site</homepageLinkText>
<adminLinkText>Dashboard</adminLinkText>
<adminUrl>
<![CDATA[ {blog-postapi-url}/../wp-admin/ ]]>
</adminUrl>
<postEditingUrl>
<![CDATA[ {blog-postapi-url}/../wp-admin/post.php?action=edit&post={post-id} ]]>
</postEditingUrl>
</weblog>
<buttons>
<button>
<id>0</id>
<text>Manage Comments</text>
<imageUrl>images/wlw/wp-comments.png</imageUrl>
<clickUrl>
<![CDATA[ {blog-postapi-url}/../wp-admin/edit-comments.php ]]>
</clickUrl>
</button>
</buttons>
</manifest>
3、确认你的用户 id
攻击者还会通过构造 < https://你的域名?author=1 //?author=2 //?author=3> 来确认你的管理员 id,以此来和上面的匹配。
为了保护自己,我们需要采取一些措施。接下来,我们将介绍一些防护方法。
4、设置访问权限
禁止访问/wp-json/wp/v2/users/,如果是宝塔的话,可以在网站配置或者伪静态中设置如下代码。
location ~ ^/wp-json/wp/v2/users {
deny all;
}
禁止访问 /wp-includes/wlwmanifest.xml 和上面一样。代码如下:
location ~ ^/wp-includes/wlwmanifest.xml {
deny all;
}
这时候访问上述网页,就会被屏蔽结果。
5、如果你是宝塔而且安装了专业版防火墙,还可以这样设置
在禁止访问的 url 中添加以下规则:
/wp-json/wp/v2/users
/wp-includes/wlwmanifest.xml
结语:
这其实不是个漏洞,所以不用紧张,其实稍微注意点安全的小伙伴早就修改了一个非常强壮的密码,隐藏了登录后台,禁用了 xmlrpc.php。
如果要禁用 xmlrpc.php,可以利用 nginx,代码如下,放置还是和上面一样,放在伪静态设置中。
location ^~ /xmlrpc.php { return 403; }
是否禁用根据个人需求决定,如果出现升级错误,可以删除或禁用相关代码。
实际上,有些主题的管理员账号会显示在文章中,这样做真的不太好……我们可以在 WordPress 后台设置一个昵称,这样文章中会显示昵称。
大家可以通过上述 URL 测试一下自己的 WordPress 站点,看看是否能够获取到敏感信息。如果信息特别敏感,就要立即设置权限。
转载请注明:汇站网 » (WordPress 教程)管理员用户名的泄露原因