JNDI漏洞利用探索

​ 最近学习了浅蓝师傅寻找的一些JNDI漏洞的利用链受益匪浅,自己也尝试关于JNDI漏洞利用做一些挖掘,目前JNDI在利用过程我想到了两个问题。

  • 测试每一个JNDI Bypass 利用链都需要手动更改URL很不方便,能否我去请求一个地址,让目标将我所有的链跑一遍?
  • JNDI利用过程中可以通过反序列化利用,能否自动化探测反序列化利用链?

shiro_attack工具分析

前言

​ 最近想要针对Shiro的利用工具扩展利用链,但自己完全写一个工具即麻烦也没有必要,因此想要通过SummerSec师傅开源的工具**ShiroAttack2**扩展来实现,既然要扩展首先就得了解项目的源码实现。本片文章中我不会通篇的对这个项目代码进行分析,只抽出几个我认为的要点进行分析。

利用CodeQL分析Log4j漏洞

前言

​ 分析漏洞的本质是为了能让我们从中学习漏洞挖掘者的思路以及挖掘到新的漏洞,而CodeQL就是一款可以将我们对漏洞的理解快速转化为可实现的规则并挖掘漏洞的利器。根据网上的传言Log4j2的RCE漏洞就是作者通过CodeQL挖掘出的。虽然如何挖掘的我们不得而知,但我们现在站在事后的角度再去想想,可以推测一下作者如何通过CodeQL挖掘到漏洞的,并尝试基于作者的思路挖掘新漏洞。

浅谈Log4j漏洞

前言

​ 这个漏洞爆发已经有好几天了,从影响来看这个漏洞影响范围确实很广,算是JAVA开发框架中一个比较基础的组件,之前和同事的前辈也讨论过,未来的发展可能会越来越依赖于集成框架,如果框架本身没有问题就没事,有问题就会导致毁灭性的灾难,这次漏洞也验证了我们之前的讨论。

CodeQL学习笔记

前言

​ 在挖了一段时间的漏洞后,逐渐感觉挖洞变成了一个体力活,虽然也使用正则匹配的方式减少了部分工作量,但这种方式还是有很大的缺陷,准确率比较低,因此希望找到一种新的方式来辅助挖洞,最近CodeQL比较火,很多师傅也写了相应的文章,相对来说学习成本已经算比较低了。尽管看了很多师傅的文章,但感觉上自己对原理或者语法的学习还是比较迟钝,因此打算去分析师傅们已经写好的一些query语法,帮助自己理解。

CVE-2021-40539 ManageEngine ADSelfService Plus漏洞分析

环境搭建

安装

​ 该漏洞影响版本在6113版本以前,但是在官网上已经下载不到这个版本了,我在其他网站下载了5.8的版本进行分析。

​ 下载好后双击exe安装,但启动过程中会卡在一个地方不动,后来我是通过双击bin/run.bat解决的,需要注意在选择版本的时候选择free版本。启动后的界面如下:

image-20211112113129673

代码审计阶段性总结

前言

​ 转岗做代码审计已经快一年了,时间过的相当快。虽然自己感觉做过的事情很多,但是回头想想好像也没挖到过几个拿得出手的漏洞。因此写下篇随笔理下思路,也确定下后来发展的一个方向。

挖洞VS分析

​ 回顾一年的时间,发现自己写的文章主要是漏洞分析,真正用在挖洞上的时间其实并不多,这个主要还是我个人的问题,在刚开始接触审计的时候,大概是一个摸索的过程,觉得每了解一些地方或者挖到一个漏洞都比较开心,审计做的多了,慢慢形成了一种类似套路的东西,无非是找敏感函数之类的,慢慢的挖到漏洞对我来说的成就感越来越低,而且感觉用到的技术大部分是用已有知识解决的,也就觉得没什么意思了。这里可能主要是因为我挖的都是一些web应用系统的漏洞,并不是一些框架的漏洞有关。

​ 所以我偏向把大量的时间用在漏洞分析上,相比于挖洞,分析的每个漏洞都让我觉得非常有趣,知识也得到了增强,当然主要也是因为那些漏洞大多都有些绕,不是我靠一些套路化的找敏感函数再去回溯方法能挖出来的, 而且很多漏洞都需要对框架的底层处理比较熟悉或者是找到一个不易想到的Trike,所以每分析一个漏洞,都会给我一种正向的反馈,让我想去分析更多的漏洞。虽然分析漏洞可能没有短期来看没有什么价值产出,但我觉得如果对每个漏洞的成因都了如指掌,挖洞应该也是水到渠成的事情,所以未来的时间可能我还是会将大量的时间放在漏洞分析上

危害VS有趣

​ 虽然大多数情况下挖到危害广的漏洞一般都比较有趣,因为如果是一些很简单的漏洞,那别人应该已经挖过了,但我还是想再分析下对于审计人员来说,危害和有趣哪个重要?

​ 我个人认为是有趣重要,尽管挖掘到一个影响严重的漏洞从应用上对团队比较重要,但我个人觉得挖到一个有趣的漏洞对个人比较重要。如果挖到一个影响广的很简单的任意文件上传漏洞,可能我个人觉得也没什么成就感。

未来

​ 目前JAVA的审计能力也不太行,但其实我也没想要把JAVA审计做到最强,可能JAVA审计我搞到自己认为差不多了,可能会选择扩展知识面,往其他语言的审计上再去扩展,再继续的话可能是再去补一些二进制的功底去分析一些系统层面的漏洞。或者去做了解一些自动化审计的东西,漏洞上的东西搞得差不多了可能再会去了解攻防对抗的一些东西,最后又转回去做渗透。

Thymeleaf SSTI漏洞分析

前言

​ 最近看到某平台上有一篇关于SSTI的文章,之前也没了解过SSTI的漏洞,因此决定写篇文章记录学习过程。

模板引擎

​ 要了解SSTI漏洞,首先要对模板引擎有所了解。下面是模板引擎的几个相关概念。

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的文档。

模板引擎的本质是将模板文件和数据通过模板引擎生成最终的HTML代码。

模板引擎不属于特定技术领域,它是跨领域跨平台的概念。

resin解析漏洞分析

前言

​ 前阵子看有师傅在公众号上发表了Resin解析漏洞分析,我们也知道有个常用的OA用的就是Resin,因此我认为了解它的漏洞是十分必要的。