防止WordPress利用xmlrpc.php进行暴力破解以及DDoS
早在2012 年 12 月 17 日一些采用 PHP 的知名博客程序 WordPress被曝光存在严重的漏洞,该漏洞覆盖WordPress 全部已发布的版本(包括WordPress 3.8.1)。该漏洞的 WordPress 扫描工具也在很多论坛和网站发布出来。工具可以利用 WordPress 漏洞来进行扫描,也可以发起DDoS 攻击。经过测试,漏洞影响存在 xmlrpc.php 文件的全部版本。
最近我也遇到了大规模的wordpress后台(wp-login.php)爆破,wordpress差点沦为了骇客手中的僵尸机。不过确实一种另类的wordpress暴力破解攻击。骇客利用xmlrpc.php文件来绕过wordpress后台的登录错误限制进行爆破。
攻击方式
这种利用xmlrpc.php的攻击可以绕过这些限制。攻击的方式直接POST以下数据到xmlrpc.php:
- <?xml version="1.0" encoding="iso-8859-1"?>
- <methodCall>
- <methodName>wp.getUsersBlogs</methodName>
- <params>
- <param><value>username</value></param>
- <param><value>password</value></param>
- </params>
- </methodCall>
其中username字段是预先收集的用户名。password是尝试的密码。关于getUsersBlogs接口的更多信息可以参考官方的指南。如果密码正确,返回为:
密码错误返回为403:
解决方法:
- 安装Login Security Solution插件点击下载
- 或者删除xmlrpc.php文件。
- 设置其权限为不可访问。
附DDoS 漏洞的利用原理
Pingback 是三种类型的反向链接中的一种,当有人链接或者盗用作者文章时来通知作者的一种方法。可以让作者了解和跟踪文章被链接或被转载的情况。一些全球最受欢迎的 blog 系统比如 Movable Type、Serendipity、WordPress 和 Telligent Community 等等,都支持 Pingback 功能,使得可以当自己的文章被转载发布的时候能够得到通知。 WordPress 中有一个可以通过 xmlrpc.php 文件接入的 XMLRPC API,可以使用 pingback.ping 的方法加以利用。 其他 BLOG 网站向 WordPress 网站发出 pingback,当WordPress处理 pingback 时,会尝试解析源 URL。如果解析成功,将会向该源 URL 发送一个请求,并检查响应包中是否有本 WordPress 文章的链接。如果找到了这样一个链接,将在这个博客上发一个评论,告诉大家原始文章在自己的博客上。 黑客向使用WordPress论坛的网站发送数据包,带有被攻击目标的 URL(源 URL)。WordPress 论坛网站收到数据包后,通过 xmlrpc.php 文件调用 XMLRPC API,向被攻击目标 URL 发起验证请求。如果发出大量的请求,就会对目标 URL 形成 HTTP Flood。当然,单纯向 WordPress 论坛网站发出大量的请求,也会导致 WordPress 网站自身被攻瘫。 除了 DDoS 之外,黑客可以通过源 URL 主机存在与否将返回不同的错误信息这个线索,如果这些主机在内网中确实存在,攻击者可以进行内网主机扫描。
至于利用xmlrpc.php文件进行DDOS请参考文章:http://www.breaksec.com/?p=6362
转载请注明:欲思博客 » 防止WordPress利用xmlrpc.php进行暴力破解以及DDoS
防止WordPress利用xmlrpc.php进行暴力破解以及DDoS的更多相关文章
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- Linux 利用hosts.deny 防止暴力破解ssh(转)
一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...
- Linux 利用hosts.deny 防止暴力破解ssh
一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...
- 利用Python自动生成暴力破解的字典
Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Pyth ...
- 利用iptables防止ssh暴力破解和控制网速
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --setiptables -I INPUT -p ...
- RDP协议暴力破解
真实案例|RDP协议暴力破解卷土重来! 作者:aqniu星期六, 七月 2, 20160 背景 RDP(Remote Desktop Protocol)称为“远程桌面登录协议”,即当某台计算机开启 ...
- wordpress 暴力破解防范
一.author页面地址 author页面地址为 http://yoursite/?author=1 ID是自增的 请求这个地址会 301 到一个url,这个url里包含了作者的用户名.虽然不算漏洞, ...
- WordPress防暴力破解:安全插件和用.htpasswd保护WordPress控制面板
正在用Wordpress的博主们一定知道最近全球兴起的一波黑客锁定Wordpress暴力破解控制面板密码的风波了,据CloudFlare执行长Matthew Prince所说,所谓的暴力密码攻击是输入 ...
- 利用ModSecurity防御暴力破解
利用ModSecurity防御暴力破解 from:http://www.freebuf.com/articles/web/8749.html 2013-04-18 共553248人围观 ,发现 12 ...
随机推荐
- 。net 添加或获取文件关联
文件关联设置 2011-02-07 14:25:36| 分类: VB.net2008或2010 | 标签:文件关联 |举报|字号 订阅 原理:以后缀名为.txt为例 方式一: 1.在注册 ...
- UWP好文
如何将GridViewEX升级到UWP(Universal Windows Platform)平台 : http://blog.csdn.net/powertoolsteam/article/deta ...
- 面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing ...
- 利用Access-Control-Allow-Origin响应头解决跨域请求
//允许任何域名访问 header("Access-Control-Allow-Origin: *"); //指定域名允许跨域 header("Access-Contro ...
- html5 文件上传 带进度条
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- LeetCode:Permutations, Permutations II(求全排列)
Permutations Given a collection of numbers, return all possible permutations. For example, [1,2,3] h ...
- 『TCP/IP详解——卷一:协议』读书笔记——03
2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首 ...
- Ajax调用WebService
前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1 ...
- 使用java 程序创建格式为utf-8文件的方法(写入和读取json文件)
使用java 程序创建格式为utf-8文件的方法: try{ File file=new File("C:/11.jsp"); ...
- 检测网页地址有效性java代码
package com.inspur.linkcheck; import java.io.IOException; import java.net.HttpURLConnection; import ...