该文被密码保护。
posted @ 2019-09-22 23:03 tr1ple 阅读 (19) 评论 (0) 编辑
摘要:本文首发于先知社区: https://xz.aliyun.com/t/7096 前言 作为一名安全研究人员(java安全菜鸡),知道拿到exp怎么打还不够,还得进一步分析exp构造原理与漏洞原理才行。本篇文章主要分析FastJson1.2.24中针对TemplatesImpl链的构造原理以及ysos 阅读全文
posted @ 2020-01-16 16:33 tr1ple 阅读 (81) 评论 (0) 编辑
摘要:Class类加载流程 实际上就是ClassLoader将会调用loadclass来尝试加载类,首先将会在jvm中尝试加载我们想要加载的类,如果jvm中没有的话,将调用自身的findclass,此时要是findclass重写了,并且传入了我们想要加载的类的字节码,那么应该调用defineclass在j 阅读全文
posted @ 2019-12-30 20:48 tr1ple 阅读 (29) 评论 (0) 编辑
摘要:1.Java 文件名空字节截断漏洞(%00 Null Bytes) 受空字节截断影响的JDK版本范围:JDK<1.7.40 实际上修复就是检查文件名中是否包含\u0000,包含则为非法路径 find usages看一下可以看到跟文件名相关的函数基本上都调用了此函数来进行校验,比如这里用java1.6 阅读全文
posted @ 2019-12-25 21:57 tr1ple 阅读 (27) 评论 (0) 编辑
摘要:Servlet是在Java Web容器上运行的小程序,通常我们用Servlet来处理一些较为复杂的服务器端的业务逻辑。值得注意的是在Servlet3.0之后(Tomcat7+)可以使用注解方式配置Servlet了。 Servlet3.0之前的版本都需要在web.xml中配置,Servlet是两对标签 阅读全文
posted @ 2019-12-25 00:13 tr1ple 阅读 (30) 评论 (0) 编辑
摘要:一.反射篇1 classloader就是java的类加载器,告诉虚拟机如何加载这个类。默认情况下根据类名来加载类,类名必须是完整路径 {}括号里的是初始化块,这里面的代码在创建java对象时执行,而且在构造器之前执行!其实初始化块就是构造器的补充,初始化快是不能接收任何参数的,定义的一些所有对象共有 阅读全文
posted @ 2019-12-22 00:03 tr1ple 阅读 (61) 评论 (0) 编辑
摘要:index.php config.php trick1: 源码里用到了PDO来进行sql查询,那么PDO有一个特性就是支持堆叠语句。那么堆叠语句就可以结合prepare进行堆叠注入,这里可以到后端的参数包括i和v,这里id参数肯定没法闭合,因为单引号过滤了,并且-和#也被过滤了,那么注释肯定也不可以 阅读全文
posted @ 2019-12-16 18:01 tr1ple 阅读 (48) 评论 (0) 编辑
摘要:本文首发于先知:https://xz.aliyun.com/t/6914 漏洞分析 FastJson1.2.24 RCE 在分析1.2.47的RCE之前先对FastJson1.2.24版本中的RCE进行一个简单的漏洞链分析,为在本篇文章后面1.2.47中漏洞的调用过程做个铺垫。在本文中的1.2.24 阅读全文
posted @ 2019-12-12 18:41 tr1ple 阅读 (79) 评论 (0) 编辑
该文被密码保护。
posted @ 2019-11-27 15:22 tr1ple 阅读 (5) 评论 (0) 编辑
摘要:环境搭建: 漏洞影响版本: fastjson在1.2.24以及之前版本存在远程代码执行高危安全漏洞 环境地址: https://github.com/vulhub/vulhub/tree/master/fastjson/vuln 正常访问页面返回hello,world~ 此时抓包修改content- 阅读全文
posted @ 2019-11-24 20:50 tr1ple 阅读 (263) 评论 (2) 编辑
摘要:1.漏洞产生原因: 序列化的字符串在经过过滤函数不正确的处理而导致对象注入,目前看到都是因为过滤函数放在了serialize函数之后,要是放在序列化之前应该就不会产生这个问题 php特性: 以上代码就明显存在一个问题,即从序列化后的字符串中明显可以看到经过filter函数以后s:6对应的字符串明显变 阅读全文
posted @ 2019-11-23 14:07 tr1ple 阅读 (162) 评论 (0) 编辑
该文被密码保护。
posted @ 2019-11-15 16:49 tr1ple 阅读 (6) 评论 (0) 编辑
摘要:遇到3道有点意思的web,记录一下~ web1 题目地址:http://warmup.balsnctf.com/ 源码如下所示: 首先关注代码中的敏感函数,存在curl,eval和file_get_contents,这里preg_match过滤了php数组的[方括号和{花括号,那么基本无法直接构造s 阅读全文
posted @ 2019-10-20 22:34 tr1ple 阅读 (376) 评论 (0) 编辑
摘要:本文首发于合天智汇: https://mp.weixin.qq.com/s/XWpe3OGwH1d9dYNMqfnyzA 0x01.环境准备 需要反编译的jar包如下所示 直接通过以下步骤将jar文件导入到idea中,就可以获得源码文件 如下所示我们就可以获得反编译后的几个重要的类和一些配置文件 0 阅读全文
posted @ 2019-10-17 19:09 tr1ple 阅读 (72) 评论 (0) 编辑
摘要:本文首发于先知: https://xz.aliyun.com/t/6493 0x01.漏洞复现 环境配置 https://github.com/Medicean/VulApps/tree/master/s/shiro/1 测试 需要一个vps ip提供rmi注册表服务,此时需要监听vps的1099端 阅读全文
posted @ 2019-10-12 16:11 tr1ple 阅读 (469) 评论 (0) 编辑
摘要:本文首发于先知: https://xz.aliyun.com/t/6486 0x01漏洞描述 Pluck是用php编写的一款的小型CMS影响版本:Pluck CMS Pluck CMS 4.7.10(更新于2019年8月)官网地址:http://www.pluck-cms.org/?file=hom 阅读全文
posted @ 2019-10-11 09:49 tr1ple 阅读 (78) 评论 (0) 编辑
摘要:0x01.java RMI 如上图所示,在JVM之间通信时,客户端要调用远程服务器上的对象时,并不是直接将远程对象拷贝到本地,而是通过传递一个stub。 其中stub就包含了远程服务器的地址和端口等信息,可以看作是远程对象的引用,客户端可以通过调用stub中的方法来对远程对象进行使用,也就是上图所说 阅读全文
posted @ 2019-09-25 13:01 tr1ple 阅读 (327) 评论 (0) 编辑
该文被密码保护。
posted @ 2019-09-22 23:03 tr1ple 阅读 (19) 评论 (0) 编辑
摘要:1.python 第一个洞:pickle反序列化 常见用于python执行命令的库有: os,subprocess,command 以及 那么最简单的exp当然是是通过os.system来执行命令: pickle和cpickle都可以进行反序列化,cpickle速度更快一点,生成payload就可以 阅读全文
posted @ 2019-09-22 18:16 tr1ple 阅读 (151) 评论 (0) 编辑
摘要:1.EZcms 这道题思路挺明确,给了源码,考点就是md5哈希扩展+phar反序列化 首先这道题会在上传的文件目录下生成无效的.htaccess,从而导致无法执行上传的webshell,所以就需要想办法删除掉.htaccess 这里主要记录一点,利用php内置类进行文件操作, exp为: 通过反序列 阅读全文
posted @ 2019-09-21 18:03 tr1ple 阅读 (492) 评论 (0) 编辑
摘要:0x01.环境准备: Apache Commons Collections 3.1版本,下载链接参考: https://www.secfree.com/a/231.html jd jui地址(将jar包转化为java源码文件): https://github.com/java-https://www 阅读全文
posted @ 2019-09-20 16:53 tr1ple 阅读 (362) 评论 (0) 编辑