早在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:

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <methodCall>
  3. <methodName>wp.getUsersBlogs</methodName>
  4. <params>
  5. <param><value>username</value></param>
  6. <param><value>password</value></param>
  7. </params>
  8. </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的更多相关文章

  1. 忘记秘密利用python模拟登录暴力破解秘密

    忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...

  2. Linux 利用hosts.deny 防止暴力破解ssh(转)

    一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...

  3. Linux 利用hosts.deny 防止暴力破解ssh

    一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...

  4. 利用Python自动生成暴力破解的字典

    Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Pyth ...

  5. 利用iptables防止ssh暴力破解和控制网速

    iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --setiptables -I INPUT -p ...

  6. RDP协议暴力破解

    真实案例|RDP协议暴力破解卷土重来! 作者:aqniu星期六, 七月 2, 20160   背景 RDP(Remote Desktop Protocol)称为“远程桌面登录协议”,即当某台计算机开启 ...

  7. wordpress 暴力破解防范

    一.author页面地址 author页面地址为 http://yoursite/?author=1 ID是自增的 请求这个地址会 301 到一个url,这个url里包含了作者的用户名.虽然不算漏洞, ...

  8. WordPress防暴力破解:安全插件和用.htpasswd保护WordPress控制面板

    正在用Wordpress的博主们一定知道最近全球兴起的一波黑客锁定Wordpress暴力破解控制面板密码的风波了,据CloudFlare执行长Matthew Prince所说,所谓的暴力密码攻击是输入 ...

  9. 利用ModSecurity防御暴力破解

    利用ModSecurity防御暴力破解 from:http://www.freebuf.com/articles/web/8749.html 2013-04-18 共553248人围观 ,发现 12 ...

随机推荐

  1. 云计算和大数据时代网络技术揭秘(十七)VOQ机制

    VOQ机制 本章介绍的VOQ是一种新型的QoS机制,目的是为了解决著名的交换机HoL难题. 但VOQ强烈依赖于调度算法,例如,一个48口的交换机,每个端口都要维护48-1个FIFO缓存队列, 一共48 ...

  2. 【java】:定时任务

    PS:转 http://blog.csdn.net/lotusyangjun/article/details/6450421/

  3. 关于VMWARE 上对于不小心VMWare Tools Easy Install 后卡死的解决方法

    PS 要想修改首先开机的时候会进入命令行,输入用户名,密码后,可以用startx来进入图形界面(也有人将/etc/init.d/ligtmd start可以懂事本人那次是不行的) 通常网上人们的解决办 ...

  4. css 常用样式

    1. border-radius - 指定每个圆角 四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角. 三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值 ...

  5. Python3学习(2)-中级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','A ...

  6. 【10_169】Majority Element

    今天遇到的题都挺难的,不容易有会做的. 下面是代码,等明天看看Discuss里面有没有简单的方法~ Majority Element My Submissions Question Total Acc ...

  7. Linux ubuntu 10.10安装OpenCv

    在windows系统下已经成功做出了一个打开摄像头并检测人脸的小程序了. 开始转战linux,因为最终目标是将程序移植到嵌入式开发板上面. 但是,问题接踵而至~ 首先linux上面要安装OpenCv, ...

  8. 直接请求URL调用 axis webservices

    假设 http://127.0.0.1/services/Services?wsdl 有名称为 login 方法,且参数为 name , pwd 则,URL请求如下 http://127.0.0.1/ ...

  9. UILabel和UIButton

    一.UILabel 1.UILabel:标签,主要用来显示文字. 创建步骤: (1)开辟空间并初始化(如果本类有初始化方法,使用自己的,否则,使用负父类的).   UILabel *textLabel ...

  10. mysql 5.6并行复制事件分发机制

    并行复制相关线程 在MySQL 5.6并行复制中,当设置set global slave_parallel_workers=2时,共有4个复制相关的线程,如下: +----+------------- ...