分类: Java

13 篇文章

Java安全学习——C3P0链
前言 在比赛中碰到了这条链子,之前没接触过,简单学习一下。 组件简介 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。 JD…
Java安全学习——内存马
TL;DR 本文较长,适合先码后看,如有些许错误,还请师傅们斧正。文章中所有代码均在本地环境运行并测试通过,源码已备份至GitHub。 JSP 在学习Java内存马之前,我们先来简单了解一下JSP技术。 什么是JSP JSP(Java Ser…
Java安全学习——Tomcat架构浅析
Tomcat简介 Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,实现了对Servlet和JavaServer Page(JSP)的支持。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的W…
Java安全学习——Hessian反序列化漏洞
Source 文章相关代码已经同步至Github 什么是RPC 在了解Hessian之前,我们先来了解一下RPC(Remote Procedure Call Protocol,远程过程调用协议)。 我们知道,互联网最重要的功能就是能在不同计算…
Java安全学习——ROME反序列化
什么是ROME ROME 是一个可以兼容多种格式的 feeds 解析器,可以从一种格式转换成另一种格式,也可返回指定格式或 Java 对象。ROME 兼容了 RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0, 2.…
Java安全学习——JNDI注入
JNDI 概述 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口。JNDI提供统一的客户端API,并由管理者将JNDI API映射为特定…
Java学习——Java中的各种IOStream
什么是流 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。 流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序…
Java安全学习——利用RMI进行攻击
概述 Java RMI机制能够让一台Java虚拟机上的对象调用运行在另一台Java虚拟机上的对象的方法。总结一下,RMI机制的实现依赖于以下三个部分 RMI ServerRMI RegistryRMI Client 简单概括一下RMI的流程:…
Java安全学习——RMI机制
概述 在学习Java反序列化漏洞的时候,经常会遇到RMI、JNDI、JRMP这些概念,其中RMI是一个基于序列化的Java远程方法调用机制。作为一个常见的反序列化入口,它和反序列化漏洞有着千丝万缕的联系。除了直接攻击RMI服务接口外(比如CV…