JNDI在JDK高版本下Bypass手法复现和分析
前言JDK高版本中,trustURLCodebase默认设置为false,禁止加载远程ObjectFactory。其中,RMI是在6u132, 7u122, 8u113版本开始做了限制,LDAP是 11.0.1, 8u191, 7u201, 6u211版本开始做了限制。RMI:在RegistryCo ...
Read more
Tomcat内存马之Valve和WebSocket型
前言之前写了关于Tomcat的listener、filter、servlet型内存马,并没有将valve和websocket加上,因为觉得还是有不一样的地方,所以单独提出来细说一下,尤其是websocket内存马,毕竟在使用的协议和方法上都有不同,但又总是容易被忽略。同样,需引入Tomcat依赖: ...
Read more
Jdk7u21反序列化分析
前言Jdk7u21,jdk原生反序列化,只要jdk版本在21之前都会存在反序列化漏洞,虽然实际情况可能会很少遇见,但整个过程还是有很多学习的地方,主要就是动态代理的充分利用和hash碰撞。 POC引入依赖: 12345678910111213<dependencies> <d ...
Read more
Java Agent内存马实现与检测
简介Java Agent是Java虚拟机提供的一种机制,允许在程序运行时动态地修改或增强Java应用程序的行为。Java Agent通常使用Java Instrumentation API实现,可以在Java应用程序启动时通过命令行参数或其他方式加载。将Java Agent与内存马结合使用,可以实现 ...
Read more
Tomcat型内存马
Tomcat内存马大致可以分为三类:Listener型、Filter型、Servlet型,也就是Java Web核心的三大组件,Tomcat内存马的核心原理就是动态地将恶意组件动态注册到正在运行的Tomcat服务器中。主要解决两个核心问题: 在每个组件什么位置执行恶意命令 每个组件动态注册的流程和 ...
Read more
Tomcat架构基础
Tomcattomcat三大组件:Listener、Filter、Servlet执行顺序:Listener > Filter > Servlet ServletServlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库 ...
Read more
关于Java中order by注入详解
本文首发freebuf,也可移步:关于Java中order by注入详解 起因因为最近在准备面试的东西,在一天下午面试成都某家公司的时候被问到java的order by注入,当时因为懵了并没有做很好的回答…其实还是因为太过急躁在之前学习SQL注入时并没有深入到代码层面理解各个类型漏洞,造成根基并没有 ...
Read more
Java动态加载类字节码
Java类加载机制Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 双亲委派机制jvm对class文件采用的是按需加载的方式,当需要使用该类时,jvm才会将它的class文件加载 ...
Read more
Shiro系列漏洞分析
Shiro简介Apache Shiro 是一个强大且易用的java安全框架,能够用于身份验证、授权、加密和会话管理。Shiro拥有易于理解的API,您可以快速轻松的获得任何应用程序–从最小的移动应用程序到最大的网络和企业应用程序。 12345678910111213验证用户身份用户访问权限控制,比如 ...
Read more
NSSCTF-prize1 学习记录
膜拜大佬^ ^ Xenny,prize1一来就是重量级,涉及知识点很多,花了几个小时,真的学到了很多很多,细思极恐,简直细到极致,真不错。这里简单记录一下,后面还有prize2-5,慢慢感悟吧。 涉及知识点:php代码审计、phar反序列化、GC机制、preg_match绕过、phar files ...
Read more