BlBana's BlackHouse.

Fastjson历史补丁Bypass分析

本篇是开坑系列第五篇,在Fastjson 1.2.24版本之后,加入了checkAutoType()函数的校验,主要利用黑白名单对要反序列化的类进行校验,以下的Bypass都是基于黑名单的绕过情况(autoTypeSupport=true)。从已有的分析资料来看,主要几个绕过的点分别在1.2.41,1.2.42,1.2.43,1.2.45,1.2.47,1.2.62,1.2.66,1.2.68这几个版本

Fastjson JdbcRowSetImpl利用链

入坑系列第四篇,这篇主要分析JdbcRowSetImpl利用链,这条链主要利用了setAutoCommit方法调用InitialContext.lookup并且参数是未经过滤dataSourceName,导致JNDI注入,造成命令执行。其中涉及许多了JDNI注入 + RMI/LDAP 的知识,废话起来可能会很多,单独开一篇文章来分析,本篇主要还是聚焦当前在Fastjson反序列化上的一些困惑,完成这条链后,再把有强关联的Fastjson补丁Bypass内容进行补充。

Fastjson TemplatesImpl 利用链

入坑系列第三篇,Fastjson TemplatesImpl利用链分析,当Feature.SupportNonPublicField设置时,反序列化调用getOutputProperties方法实例化恶意类导致命令执行。主要是Fastjson 1.2.22 —— 1.2.24版本的利用方式,除此之外,在这个版本里还有一条JNDI的利用链,等着下一篇分析。真的是越分析越嗨皮,一直分析一直爽。

Fastjson反序列化漏洞基础

本篇是Java反序列化漏洞开坑的第二篇,主要是介绍了下Fastjson主要API的基本使用方式,序列化/反序列化的一些特性,以及Map和User类型在反序列化时的流程分析,对一些核心的反序列化过程进行了跟进,主要还是为了熟悉不同类型的Json字符串在反序列化过程中构造方法,setter方法,getter方法调用情况,帮助理解PoC的构造思路。在此基础上,下一篇接着会对Templateslmpl类 的利用链进行调试分析。

Java SnakeYaml反序列化

开始研究Java安全相关技术了,最近开坑了Java反序列化漏洞的研究分析,在github上创了个研究Java反序列化的Repo,列出了一些最近准备分析的反序列化漏洞,打算系统的整理下Java反序列化的知识。Repo中放 Demo 和 PoC 的代码,Blog里放详细的漏洞分析文章。本篇SnakeYaml反序列是第一篇文章,后续会按照列表内容持续跟进相关漏洞。

PHP CVE-2019-11043 RCE工具分析

下午看见了CVE-2019-11043漏洞的利用工具,简单的把phuip-fpidam工具看了一下,利用CVE-2019-11043控制Nginx fastcgi_param的PHP_VALUE变量对PHP配置改写,再在加载PHP扩展时写入Webshell。

PHPStorm远程调试环境搭建以及原理

最近准备做一些PHP的漏洞分析,来拓展一下自己代码审计时的思路,俗话说“工欲善其事必先利其器”嘛,就把PHPStorm代码调试环境配置了一下,本地比较容易,主要还是记录一下在配置远程调试环境的一些要点,用于备忘,再简单介绍一下远程调试的原理。

Python安全编码——SQL注入

好久也没写过博客了,最近审计做的比较多,打算开个新坑,主要还是安全编码的问题,经常开发让修洞的时候,反问一句怎么修 ?乍得这么一问,还真有点一脸懵逼,还是收集一下常见的漏洞修复方案,以及一些安全SDK吧,今天讲讲Python SQL注入问题,都9012了还有人拼接SQL。。。是ORM不好用吗,还是SQL学的太好了。。

文件包含漏洞(二)

之前已经总结了一次文件包含漏洞相关的知识点,最近一段时间做CTF又遇到了不少以前没见过的包含新姿势,这里在总结一下,以后看的时候方便一些。