当前位置: 首页 > news >正文

Day67:WEB攻防-Java安全JNDIRMILDAP五大不安全组件RCE执行不出网

知识点:

1、Java安全-RCE执行-5大类函数调用

2、Java安全-JNDI注入-RMI&LDAP&高版本

3、Java安全-不安全组件-Shiro&FastJson&JackJson&XStream&Log4j

Java安全-RCE执行-5大类函数调用

Java中代码执行的类:

  • Groovy
  • RuntimeExec
  • ProcessImpl
  • ProcessBuilder
  • ScriptEngineManager

检测:(大部分白盒)
黑盒看参数名和参数值
白盒看类函数名和可控变量

Groovy

RuntimeExec

ProcessImpl

ProcessBuilder

ScriptEngineManage

在java8后就没了eval函数,仅作参考
 

黑盒测试-RCE

黑盒看参数名和参数值

白盒测试-RCE

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

Java安全-JNDI注入-RMI&LDAP&版本

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

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

Java为了将Object对象存储在Naming或Directory服务下,提供了Naming Reference功能,对象可以通过绑定Reference存储在Naming或Directory服务下,比如RMI、LDAP等

javax.naming.InitialContext.lookup();用于在Java命名和目录接口(JNDI)中查找命名对象的方法。

在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()

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

JNDI原生漏洞-靶场演示

JNDI本身不是漏洞,是java用来远程加载文件执行从而造成一个RCE的结果,一般是在漏洞利用的时候会使用这个jndi注入达到一个RCE目的。

JNDI注入漏洞利用条件

但是有一种情况就是对方使用了高版本的jdk,然后该工具全部的payload都不行怎么办?

高版本绕过:

浅析高低版JDK下的JNDI注入及绕过 [ Mi1k7ea ]

如何绕过高版本JDK的限制进行JNDI注入利用 – KINGX

不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4j

黑盒测试不安全组件漏洞:见后续章节漏洞复现利用课程

Log4j

Apache的一个开源项目,是一个基于Java的日志记录框架。

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

有个问题就是弹计算机也是在对方服务器弹,本地肯定不知道成没成功,这时候可以在jndi注入工具中把生成计算机命令改为请求一个dnslog地址来判断不就行了。

Shiro

Java安全框架,能够用于身份验证、授权、加密和会话管理。
历史漏洞:https://avd.aliyun.com/search?q=Shiro

Jackson

当下流行的json解释器,主要负责处理Json的序列化和反序列化。
历史漏洞:https://avd.aliyun.com/search?q=Jackson

Fastjson

阿里巴巴公司开源的json解析器,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
历史漏洞:https://avd.aliyun.com/search?q=fastjson

XStream

开源Java类库,能将对象序列化成XML或XML反序列化为对象
历史漏洞:https://avd.aliyun.com/search?q=XStream

http://www.lryc.cn/news/320079.html

相关文章:

  • GCNv2_SLAM-CPU详细安装教程(ubuntu18.04)
  • 使用gitee自动备份文件
  • 智慧城市新篇章:数字孪生的力量与未来
  • python讲解(2)
  • 安卓安装Magisk面具以及激活EdXposed
  • C到C++的敲门砖-1
  • Qt文件以及文件夹相关类(QDir、QFile、QFileInfo)的使用
  • ChatGPT编程实现简易聊天工具
  • C#-用于Excel处理的程序集
  • HTTPS基础
  • 【Flink SQL】Flink SQL 基础概念(四):SQL 的时间属性
  • 文字弹性跳动CSS3代码
  • 前端小白的学习之路(事件流)
  • 电脑文件误删除如何恢复?分享三个简单数据恢复方法
  • MySQL实战:监控
  • MySQL自增主键自动生成的主键重置
  • reverse_iterator实现
  • C++:什么情况下函数应该声明为纯虚函数
  • 【全面了解自然语言处理三大特征提取器】RNN(LSTM)、transformer(注意力机制)、CNN
  • 区块链推广海外市场怎么做,CloudNEO服务商免费为您定制个性化营销方案
  • 【S5PV210】 | ARM的指令集合
  • 2024-3-17Go语言入门
  • AJAX-XMLHttpRequest
  • 【GPT-SOVITS-04】SOVITS 模块-鉴别模型解析
  • 论文阅读_时序模型_iTransformer
  • Docker 哲学 - 容器操作 -cp
  • 作品展示ETL
  • python的集合应用
  • 盒子IM开源仿微信聊天程序源码,可以商用
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)中篇