外贸营销

wordpress暴力破解规避思路
2019.09.06 外贸营销

wordpress作为最受欢迎的博客程序,使用简单插件丰富,深受各层次站长的喜爱,也就此催生了暴力破解wp后台的软件。怎样才能防止后台被爆破呢,这里给几点我的见解,希望对你有所启发。

修改登录页面地址,如果是单用户博客更简单,直接将wp-login.php修改成一个无法猜解的名称,书签保存在浏览器中。当访问wp-login.php时直接返回404代码和空白页面即可。这样当爆破软件向wp-login.php post数据暴力破解是只会得到404代码和空白页面。

具体可参考:wordpress登录页面保护插件

IP地址黑名单

使用check_password过滤器,如果同IP连续错误达到指定次数,将该IP放入blacklist数据表。然后在login_init时在blacklist表中检索来源ip地址,如果存在则直接返回404或跳转页面。
代码?在明天的日志里,今天只说思路。

使用CDN或服务器的IP地址黑名单。已知经常发起攻击的IP地址或地址段,将其加入到CDN或服务器的IP防火墙,将攻击者IP直接阻挡在门外。

如何获取暴力攻击后台的IP地址和攻击次数?

还是使用check_password过滤器,将密码验证结果为false的IP地址放入一个文本文件,导出到excel,数据透视每个IP攻击的次数即可。

代码如下仅供参考:

function get_client_ip(){    if(isset($_SERVER)){            if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];        }elseif(isset($_SERVER["HTTP_CLIENT_IP"])) {            $realip = $_SERVER["HTTP_CLIENT_IP"];        }else{            $realip = $_SERVER["REMOTE_ADDR"];        }    }else{        //不允许就使用getenv获取          if(getenv("HTTP_X_FORWARDED_FOR")){              $realip = getenv( "HTTP_X_FORWARDED_FOR");        }elseif(getenv("HTTP_CLIENT_IP")) {              $realip = getenv("HTTP_CLIENT_IP");        }else{              $realip = getenv("REMOTE_ADDR");        }    }    return $realip;}add_action('login_init','attacker_ip_log');function attacker_ip_log(){    if($_POST['log'] === '' || $_POST['pwd'] === '') return;        $attacker_ip = get_client_ip();        $user = get_user_by( 'login', $_POST['log'] );    if ( $user === false || wp_check_password( $_POST['pwd'], $user->data->user_pass, $user->ID) === false )        file_put_contents('attack_log.php',$attacker_ip."\t".date("Y-m-d h:i:sa")."\t".$_POST['log']."\t".$_POST['pwd']."\r\n",FILE_APPEND);    }

转载:wordpress暴力破解规避思路 | 我系张先森

上一篇下一篇
标签

有问
必答