编程语言
首页 > 编程语言> > [JavaWeb]Log4j的前因后果

[JavaWeb]Log4j的前因后果

作者:互联网

Log4j的前因后果

简介

Log4j的进化史

Log4J的三大组件:
Logger:日志记录器,负责收集处理日志记录 (如何处理日志)
Appender:日志输出目的地,负责日志的输出 (输出到什么地方)
Layout:日志格式化,负责对输出的日志格式化(以什么形式展现)

还是一如既往的先对其的应用有个大概的了解,有利于对 漏洞的全局把控

漏洞相关知识前置

由于Log4j漏洞是利用了Log4j.lookup的解析+jndi的相关漏洞,最终触发了所谓的“核弹级”漏洞。

Log4j的应用架构

image

JNDI的应用结构

image

漏洞分析

先用网上的exp随便测了测,发现error和fetal会触发,而info和debug不会触发

image

所以接下来,首先要来分析为什么error和fetal会触发?又为什么info和debug不会触发

流程分析

log4j中项目lookup的作用:** Lookups provide a way to add values to the Log4j configuration at arbitrary places. They are a particular type of Plugin that implements the StrLookup interface. **”
以上内容复制于log4j2的官方文档lookup - Office Site。其清晰地说明了lookup的主要功能就是提供另外一种方式以添加某些特殊的值到日志中,以最大化松散耦合地提供可配置属性供使用者以约定的格式进行调用。

漏洞利用

直接就是套用jndi的exp。

漏洞修复

官方先是给出了内网白名单的修复--》被解析漏洞绕过--》然后又被发现逻辑漏洞

泛域名解析:就是多个子域名解析到同一个ip上

流程分析小结:跟的时候总是跟的目标不对,而且似乎对jndi的底层实现不熟。对关键类中的敏感方法不够感冒。。。

标签:JavaWeb,jndi,前因后果,漏洞,lookup,日志,Log4j,进行
来源: https://www.cnblogs.com/Aurora-M/p/15844578.html