最近学习了浅蓝
师傅寻找的一些JNDI漏洞的利用链受益匪浅,自己也尝试关于JNDI漏洞利用做一些挖掘,目前JNDI在利用过程我想到了两个问题。
- 测试每一个JNDI Bypass 利用链都需要手动更改URL很不方便,能否我去请求一个地址,让目标将我所有的链跑一遍?
- JNDI利用过程中可以通过反序列化利用,能否自动化探测反序列化利用链?
最近学习了浅蓝
师傅寻找的一些JNDI漏洞的利用链受益匪浅,自己也尝试关于JNDI漏洞利用做一些挖掘,目前JNDI在利用过程我想到了两个问题。
最近Log4j
的漏洞引起了很多师傅对JNDI注入漏洞利用的研究,浅蓝
师傅的文章探索高版本 JDK 下 JNDI 漏洞的利用方法提出了很多关于绕过JNDI高版本限制的方法,本文主要是对文章中的部分方法进行分析并加上一些我个人的思考。
最近想要针对Shiro的利用工具扩展利用链,但自己完全写一个工具即麻烦也没有必要,因此想要通过SummerSec
师傅开源的工具**ShiroAttack2**扩展来实现,既然要扩展首先就得了解项目的源码实现。本片文章中我不会通篇的对这个项目代码进行分析,只抽出几个我认为的要点进行分析。
该漏洞影响版本在6113
版本以前,但是在官网上已经下载不到这个版本了,我在其他网站下载了5.8的版本进行分析。
下载好后双击exe安装,但启动过程中会卡在一个地方不动,后来我是通过双击bin/run.bat
解决的,需要注意在选择版本的时候选择free
版本。启动后的界面如下:
转岗做代码审计已经快一年了,时间过的相当快。虽然自己感觉做过的事情很多,但是回头想想好像也没挖到过几个拿得出手的漏洞。因此写下篇随笔理下思路,也确定下后来发展的一个方向。
回顾一年的时间,发现自己写的文章主要是漏洞分析,真正用在挖洞上的时间其实并不多,这个主要还是我个人的问题,在刚开始接触审计的时候,大概是一个摸索的过程,觉得每了解一些地方或者挖到一个漏洞都比较开心,审计做的多了,慢慢形成了一种类似套路的东西,无非是找敏感函数之类的,慢慢的挖到漏洞对我来说的成就感越来越低,而且感觉用到的技术大部分是用已有知识解决的,也就觉得没什么意思了。这里可能主要是因为我挖的都是一些web应用系统的漏洞,并不是一些框架的漏洞有关。
所以我偏向把大量的时间用在漏洞分析上,相比于挖洞,分析的每个漏洞都让我觉得非常有趣,知识也得到了增强,当然主要也是因为那些漏洞大多都有些绕,不是我靠一些套路化的找敏感函数再去回溯方法能挖出来的, 而且很多漏洞都需要对框架的底层处理比较熟悉或者是找到一个不易想到的Trike,所以每分析一个漏洞,都会给我一种正向的反馈,让我想去分析更多的漏洞。虽然分析漏洞可能没有短期来看没有什么价值产出,但我觉得如果对每个漏洞的成因都了如指掌,挖洞应该也是水到渠成的事情,所以未来的时间可能我还是会将大量的时间放在漏洞分析上。
虽然大多数情况下挖到危害广的漏洞一般都比较有趣,因为如果是一些很简单的漏洞,那别人应该已经挖过了,但我还是想再分析下对于审计人员来说,危害和有趣哪个重要?
我个人认为是有趣重要,尽管挖掘到一个影响严重的漏洞从应用上对团队比较重要,但我个人觉得挖到一个有趣的漏洞对个人比较重要。如果挖到一个影响广的很简单的任意文件上传漏洞,可能我个人觉得也没什么成就感。
目前JAVA的审计能力也不太行,但其实我也没想要把JAVA审计做到最强,可能JAVA审计我搞到自己认为差不多了,可能会选择扩展知识面,往其他语言的审计上再去扩展,再继续的话可能是再去补一些二进制的功底去分析一些系统层面的漏洞。或者去做了解一些自动化审计的东西,漏洞上的东西搞得差不多了可能再会去了解攻防对抗的一些东西,最后又转回去做渗透。