一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

wordpress博客如何有效防范暴力破解

时间:2015-01-21 编辑:简简单单 来源:一聚教程网

wordpress博客如果开放投稿注册并且后台支持用户名登录的话,可以先在前台页面批量获取用户名,然后找个弱口令字典,就可以暴力破解了

批量获取用户名的方法是遍历author页面,从html中提取authorname

以携程UED博客为例:

1、author页面地址为:http://ued.ctrip.com/blog/?author=1 ,ID是自增的

image

 

image

 

红色圈内即用户名admin。

2、登录页面http://ued.ctrip.com/blog/xmlrpc.php

xmlrpc登录接口默认没有验证码,最大错误尝试次数限制等。

利用xmlrpc.php提供的接口尝试猜解用户的密码,可以绕过wordpress对暴力破解的限制。已经发现了大规模的利用,启用了xmlrpc的同学需要尽快修复。

这种利用xmlrpc.php的攻击可以绕过这些限制。攻击的方式直接POST以下数据到xmlrpc.php

wp.getUsersBlogs username password

 

其中username字段是预先收集的用户名。password是尝试的密码。关于getUsersBlogs接口的更多信息可以参考官方的指南。如果密码正确,返回为:

错误返回:

image

 

正确返回:

image

 

3、防止暴力破解

记录下登录失败的用户ip,用户名,密码,时间等,如果在一定时间内(同一ip)登录失败的次数大于阈值,则禁止登录。

建表:

image

 

CREATE TABLE `wp_audit` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`ip` VARCHAR(50) NOT NULL DEFAULT '',
`username` VARCHAR(100) NOT NULL DEFAULT '',
`password` VARCHAR(100) NOT NULL DEFAULT '',
`createdate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
INDEX `ip` (`ip`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM

修改wordpress代码:

wp-includesclass-wp-xmlrpc-server.php

image

 

简单阻止下暴力破解吧。。

wp-login.php文件同理了,自行处理吧。

防止brute force crack的策略很多啦,基本就是排除异常登录者。

刚上线就有鱼儿上钩了:

image

 

image

 

热门栏目