
java安全
文章平均质量分 95
6ri9ht
这个作者很懒,什么都没留下…
展开
-
Spring Cloud Function Spel表达式注入
Spring Cloud Function Spel表达式注入漏洞概述Spring Cloud Function 是基于Spring Boot 的函数计算框架(FaaS),支持基于SpEL的函数式动态路由。在特定配置下,3 <= 版本 <= 3.2.2( commit dc5128b 之前)存在SpEL表达式执行导致的RCE。环境搭建在IDEA中选择新建项目,然后选择Spring Initializr,输入随机项目名称,然后选择java版本和jdk版本后点击下一步。选择Spring原创 2022-04-05 00:50:04 · 6138 阅读 · 0 评论 -
Spring Framework RCE(CVE-2022-22965)
Spring Framework RCE(CVE-2022-22965)利用环境war包https://github.com/fengguangbin/spring-rce-wardocker环境https://github.com/lunasec-io/Spring4Shell-POChttps://github.com/vulhub/vulhub/tree/master/spring/CVE-2022-22965在线环境http://vulfocus.io漏洞原理原创 2022-04-02 13:22:25 · 6108 阅读 · 0 评论 -
Javasec-RMI
RMIRMI(Remote Method Invocation)即Java远程方法调用,RMI用于构建分布式应用程序,RMI实现了Java程序之间跨JVM的远程通信。让某个Java虚拟机上的对象调⽤另⼀个Java虚拟机中对象上的⽅法。RMI结构RMI底层通讯采用了Stub(运行在客户端)和Skeleton(运行在服务端)机制,RMI调用远程方法的大致如下:RMI客户端在调用远程方法时会先创建Stub(sun.rmi.registry.RegistryImpl_Stub)。Stub会将Remot原创 2022-03-22 20:15:05 · 531 阅读 · 0 评论 -
Java agent学习
介绍JDK1.5开始,Java新增了Instrumentation(Java Agent API)和JVMTI(JVM Tool Interface)功能,允许JVM在加载某个class文件之前对其字节码进行修改,同时也支持对已加载的class(类字节码)进行重新加载(Retransform)。利用Java Agent这一特性衍生出了APM(Application Performance Management,应用性能管理)、RASP(Runtime application self-protectio原创 2022-03-18 10:06:03 · 1215 阅读 · 0 评论 -
SpEL表达式注入漏洞学习
SpEL表达式注入漏洞前言因为前端时间的spring gateway rce正是由此导致的所以来学习一下介绍Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于统一EL,但提供了额外的功能,是方法调用和基本的字符串模板了同时SpEL是API接口的形式因为创建的,所以允许将其集成到其他应用程序和框架中。环境搭建https://github.com/LandGrey/SpringBootVulExploit/tree原创 2022-03-09 10:57:25 · 3401 阅读 · 0 评论 -
yso之CC1链
前言Commons Collections的利用链也被称为cc链,在学习反序列化漏洞必不可少的一个部分。Apache Commons Collections是Java中应用广泛的一个库,包括Weblogic、JBoss、WebSphere、Jenkins等知名大型Java应用都使用了这个库。Apache Commons Collections是一个扩展了Java标准库里的Collection结构的第三方基础库,它提供了很多强有力的数据结构类型并且实现了各种集合工具类。作为Apache开源项目的重要组件,原创 2022-02-26 12:41:22 · 1044 阅读 · 0 评论 -
yso之URLDNS链
前言文章首发于tools:yso之URLDNS链Java反序列化Java提供了一种对象序列化的机制,用一个字节序列表示一个对象,该字节包含对象的数据、对象的类型、对象的存储属性。字节序列写出到文件后,相当于可以持久保存一个对象,这过程叫做序列化。序列化对象会通过ObjectOutputStream的writeObject方法将一个对象写入到文件中。而反序列化是使用了readObject 方法进行读取并还原成在序列化前的一个类。这一步骤并没有什么安全问题,但是如果反序列化的数据是可控的情况下,那么我原创 2022-01-24 21:24:04 · 2426 阅读 · 0 评论