随笔分类 -  JAVA安全

记录java安全学习历程
摘要:这篇文章主要总结学习目前网上关于1.2.68下绕过Autotype的一些方法用到的思路。 前置知识: checkautotype因为是对要进行反序列化的类进行检测的方法 所以我们只需要让其返回Class类型的实例即可 一般会有以下几种情况通过验证: 1.autoTypeCheckHandlers不为 阅读全文
posted @ 2020-08-15 18:42 tr1ple 阅读(4273) 评论(0) 推荐(2) 编辑
摘要:Author:tr1ple 主要分析以下四个部分: 1.openrasp agent 这里主要进行插桩的定义,其pom.xml中定义了能够当类重新load时重定义以及重新转换 这里定义了两种插桩方式对应之前安装时的独立web的jar的attach或者修改启动脚本添加rasp的jar的方式 其中ini 阅读全文
posted @ 2020-08-09 13:56 tr1ple 阅读(1864) 评论(0) 推荐(1) 编辑
摘要:前言 最近一直在做学校实验室安排的项目,太惨了,没多少时间学习新知识,不过rasp还是要挤挤时间学的,先从小例子的分析开始,了解rasp的基本设计思路,后面详细阅读openrasp的源码进行学习!欢迎在学习相关知识的师傅找我交流!如本文有所错误请指出~ 例子1 https://github.com/ 阅读全文
posted @ 2020-05-19 19:34 tr1ple 阅读(2386) 评论(0) 推荐(0) 编辑
摘要:MethodVisitor ClassVisitor的visitMethod能够访问到类中某个方法的一些入口信息,那么针对具体方法中字节码的访问是由MethodVisitor来进行的 访问顺序如下,其中visitCode和visitMaxs仅调用一次,标志方法字节码访问的开始和结束 MethodVi 阅读全文
posted @ 2020-04-30 22:43 tr1ple 阅读(4672) 评论(0) 推荐(0) 编辑
摘要:1.编译后的方法区,其中存储的代码都是一些字节码指令 2.Java虚拟机执行模型: java代码是在一个线程内部执行,每个线程都有自己的执行栈,栈由帧组成,每个帧表示一个方法的调用,每调用一个方法,都将将新的帧压入执行栈,方法返回时(不管是整成return还是异常返回),该方法对应的帧都将出栈,即按 阅读全文
posted @ 2020-04-28 23:14 tr1ple 阅读(1448) 评论(0) 推荐(0) 编辑
摘要:Instrumentation基础 openrasp中用到了Instrumentation技术,它的最大作用,就是类的动态改变和操作。 使用Instrumentation实际上也可以可以开发一个代理来监视jvm的上运行的程序,可以动态的替换类的定义,就可以达到虚拟机级别的AOP实现,随时可以为应用增 阅读全文
posted @ 2020-04-28 10:22 tr1ple 阅读(3655) 评论(0) 推荐(2) 编辑
摘要:ASM也是字节码编辑库,如果我们的目的仅仅是为目标类添加某些功能,也可以考虑动态代理,但是动态代理是面向接口的,因为proxy.newinstance实际上是对某个接口定义一个invocaionHandler,那么这样限制就比较大,并且对代理的每一次函数调用都将被invocationHandler处 阅读全文
posted @ 2020-04-23 18:16 tr1ple 阅读(1446) 评论(0) 推荐(0) 编辑
摘要:HashSet Java中的集合(Collection)有三类,一类是List,一类是Queue,再有一类就是Set。 前两个集合内的元素是有序的,元素可以重复;最后一个集合内的元素无序,但元素不可重复。 Set: 1.用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复 2.对象的相等性本质 阅读全文
posted @ 2020-04-15 00:34 tr1ple 阅读(1260) 评论(0) 推荐(1) 编辑
摘要:这篇文章记录一下hashmap的学习过程,文章并没有涉及hashmap整个源码,只学习一些重要部分,如有表述错误还请在评论区指出~ 基本概念 Hashmap采用key算hash映射到具体的value,因此查找效率为o(1),为防止hash冲突,在数组的基础上加入链表、红黑树,为无序非线程安全的存储结 阅读全文
posted @ 2020-04-11 20:53 tr1ple 阅读(1347) 评论(0) 推荐(1) 编辑
摘要:从今天开始从源码去学习一些Java的常用数据结构,打好基础:) Arraylist源码阅读: jdk版本:1.8.0 首先看其构造方法: 构造方法一: 第一种支持初始化容量大小,其中声明一个对象数组,赋值给this.elementdata 构造方法二: 第二种无参构造函数,即不指定初始容量大小,则默 阅读全文
posted @ 2020-04-09 23:28 tr1ple 阅读(937) 评论(0) 推荐(0) 编辑
摘要:本文首发于oppo安全应急响应中心: https://mp.weixin.qq.com/s?__biz=MzUyNzc4Mzk3MQ==&mid=2247485488&idx=1&sn=65098eb75e035ff2f90d1ea552c4100a&chksm=fa7b097ccd0c806a40 阅读全文
posted @ 2020-04-07 20:46 tr1ple 阅读(4961) 评论(0) 推荐(0) 编辑
摘要:漏洞说明: Liferay是一个开源的Portal(认证)产品,提供对多个独立系统的内容集成,为企业信息、流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性,而且免费,在全球都有较多用户. 该洞是个反序列化导致的rce,通过未授权访问其api传递json数据进 阅读全文
posted @ 2020-04-05 19:09 tr1ple 阅读(5552) 评论(0) 推荐(0) 编辑
摘要:环境准备: pom: <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <ver 阅读全文
posted @ 2020-04-02 00:01 tr1ple 阅读(2358) 评论(1) 推荐(0) 编辑
摘要:CORBA: 具体的对CORBA的介绍安全客这篇文章https://www.anquanke.com/post/id/199227说的很详细,但是完全记住是不可能的,我觉得读完它要弄清以下几个点: 1.什么是CORBA? CORBA全称(Common ObjectRequest Broker Arc 阅读全文
posted @ 2020-03-25 14:51 tr1ple 阅读(4124) 评论(0) 推荐(0) 编辑
摘要:本文首发于安全客:https://www.anquanke.com/post/id/200637 前言: 网上分析CommonsCollections调用链的文章也有不少,但是看完分析文章直接手动构造利用链仍有难度,因此这篇文章主要总结本人调试ysoserial的CommonsCollections 阅读全文
posted @ 2020-03-25 11:04 tr1ple 阅读(2419) 评论(0) 推荐(0) 编辑
摘要:本文首发于先知社区:https://xz.aliyun.com/t/7417 0x01前言 该洞主要针对weblogic的coherence.jar中存在能够实现反序列化gadget构造的类,并且经过T3协议接收的数据经过反序列化处理后将导致漏洞的产生,这篇文章主要详细记录调试学习CVE 2020 阅读全文
posted @ 2020-03-25 10:38 tr1ple 阅读(2148) 评论(0) 推荐(0) 编辑
摘要:1.前言 之前也花了几天晚上熟悉了一下commonscollections系列的构造,那么学习一下这个项目是如何设计的也挺重要,多学习大佬如何写代码应该也能对自己的代码能力有提升吧~2333 2.项目结构: 首先代码结构如上图所示 exploit文件夹下主要是放一些主要的利用模块,比如如下两个例子 阅读全文
posted @ 2020-03-09 22:10 tr1ple 阅读(1509) 评论(0) 推荐(0) 编辑
摘要:前言: CommonsCollections7外层也是一条新的构造链,外层由hashtable的readObject进入,这条构造链挺有意思,因为用到了hash碰撞 yso构造分析: 首先构造进行rce所需要的转换链,这里也用的是chianed里面套Constantrans+invoketrans的 阅读全文
posted @ 2020-03-06 22:38 tr1ple 阅读(1756) 评论(4) 推荐(0) 编辑
摘要:前言: 这篇记录CommonsCollections6的调试,外层也是新的类,换成了hashset,即从hashset触发其readObject(),yso给的调用链如下图所示 利用链分析: 首先在hashset内部首先获取器容量与负载因子等操作,然后创建hashmap,将ObjectinputSt 阅读全文
posted @ 2020-03-05 22:31 tr1ple 阅读(1482) 评论(0) 推荐(0) 编辑
摘要:前言: 这篇文章继续分析commonscollections5,由如下调用链可以看到此时最外层的类不是annotationinvoke,也不是priorityqueue了,变成了badattribute 该类要求没有配置security manager 利用链分析: 首先在badAttribute的 阅读全文
posted @ 2020-03-04 23:10 tr1ple 阅读(1518) 评论(0) 推荐(0) 编辑