本文假设你对Java基本数据结构.Java反序列化.高级特性(反射.动态代理)等有一定的了解. 背景 YsoSerial是一款反序列化利用的便捷工具,可以很方便的生成基于多种环境的反序列化EXP.java -jar ysoserial.jar 可以直接查看payload适用环境及其适用版本. 关于此工具的背景,我引用P神的<Java安全漫游>文章对其的描述: 2015年Gabriel Lawrence (@gebl)和Chris Frohoffff (@frohoffff)在AppSecCal…
前文介绍了最简单的反序列化链URLDNS,虽然URLDNS本身不依赖第三方包且调用简单,但不能做到漏洞利用,仅能做漏洞探测,如何才能实现RCE呢,于是就有Common-collections1-7.Common-BeanUtils等这些三方库的利用.本文需要前置知识Java反射.动态代理等.CC1其实比较难,会用到很多高级特性,但理解了CC1后面的payload也就能轻松理解了. 背景 Common-collections是对jdk自带的数据类型的三方增强框架,类似python里面的collec…
前言 这是common-collections 反序列化的第三篇文章,这次分析利用链CC5和CC6,先看下Ysoserial CC5 payload: public BadAttributeValueExpException getObject(final String command) throws Exception { final String[] execArgs = new String[] { command }; // inert chain for setup final Tra…
前言 YsoSerial Common-Collection3.2.1 反序列化利用链终于来到最后一个,回顾一下: 以InvokerTranformer为基础通过动态代理触发AnnotationInvocationHandler里面的Invoker方法调用LazyMap get方式的CC1 以TemplatesImpl为基础,通过TrAXFilter.InstantiateTransformer组合绑定LazyMap动态代理触发AnnotationInvocationHandler#Invoke…
前言 Common-Collections <= 3.2.1 对应与YsoSerial为CC1.3.5.6.7 ,Commno-collections4.0对应与CC2.4. 这篇文章结束官方原版YsoSerial关于Common-Collections链的分析就已经结束了. CC2 TemplatesImpl 在之前有介绍过TemplatesImpl 这个类的命令执行利用方法,我们回顾一下,TemplatesImpl中存在对变量_bytecodes 进行defineClass加载的 defin…
这是CC链分析的第二篇文章,我想按着common-collections的版本顺序来介绍,所以顺序为 cc1.3.5.6.7(common-collections 3.1),cc2.4(common-collections4). 打开YsoSerial payloads CommonsCollections3源码: public Object getObject(final String command) throws Exception { Object templatesImpl = Gad…
Java应用常用性能分析工具 好的工具有能有效改善和提高工作效率或加速分析问题的进度,笔者将从事Java工作中常用的性能工具和大家分享下,如果感觉有用记得投一票哦,如果你有好的工具也可以分享给我 工具/原料 jvisualvm.exe jconsole.exe jca MAT jprofile httpwatch 方法/步骤 jvisualvm.exe JDK自带监控工具  在JDK安装目录\bin\目录下 可以对正在运行的Java应用程序进行比较全面的监控分析,配合相关的插件功能,组合成一个非…
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问题,页面展示异常”:小A说:“这哪是我的问题,你去找后台吧,后台接口返回数据有问题”:小T就屁颠屁颠的跑到后台接口开发小M那里说:“你接口返回数据有问题,改下吧”:小M看了看服务器日志说:“没找到报错啊,我这里服务正常,你抓个包看下吧”:小T郁闷了,屁颠屁颠的回去了想:“抓包?抓啥包?”: 以上故事,在实在…
前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具进行比较分析,以便于在特定的情况下选择最合适的工具,或者使用自己编写的工具.(不同工具定位不同,我们只是主要从接口功能测试的角度进行分析).博主对这几款工具也仅仅是浅尝辄止,并未做太过深入的应用,报告中如果有哪些不合适的地方,欢迎指正. 1.  用例组织方式 首先是用例组织方式的不同,不同的目录结构…
前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具进行比较分析,以便于在特定的情况下选择最合适的工具,或者使用自己编写的工具.(不同工具定位不同,我们只是主要从接口功能测试的角度进行分析).博主对这几款工具也仅仅是浅尝辄止,并未做太过深入的应用,报告中如果有哪些不合适的地方,欢迎指正. 1.  用例组织方式 首先是用例组织方式的不同,不同的目录结构…