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,因此我认为了解它的漏洞是十分必要的。

JDBC XXE漏洞分析

前言

​ 最近 JDBC爆了一个XXE漏洞,很久没有分析漏洞了,趁着周末没事分析下这个漏洞。

分析

10月21日,”阿里云应急响应”公众号发布Oracle Mysql JDBC存在XXE漏洞,造成漏洞的原因主要是因为getSource方法未对传入的XML格式数据进行检验。导致攻击者可构造恶意的XML数据引入外部实体。造成XXE攻击。

影响版本: < MySQL JDBC 8.0.27

用友NC6.5文件上传漏洞分析

1
用友NC这个系统在国内用户量还是挺多的,由于这个系统本身不开源且代码量极多,所以这个系统可能会存在大量的漏洞但挖掘的人相对较少,所以还是值得花时间去挖掘漏洞的,本次和大家一起分析用友NC6.5的任意文件上传漏洞,由于这个上传接口是将传入的数据反序列化解析后再上传的,所以exp对于很多同学来说不太容易构造,本次就带大家一起分析一下这个漏洞,文章的最后我会给出大家这个漏洞的exp。

JSP文件无依赖加载shellcode分析

前言

​ 去年分析过JSP加载shellcode上线的技术,但是由于需要先上传DLL到目标主机,所以在真实环境下并不方便使用,最近看到rebeyond发表的关于Java原生远程进程注入的文章,可以实现无需依赖上传的dll实现JSP加载shellcode的功能,因此决定写下这篇文章分析和复现其中的技术。

Java Agent修改Shiro key

前言

​ 之前佬哥给我提了个需求,如何修改Shiro Key,我们知道Shiro在高版本key默认是随机生成的,没有在配置文件中,即使在配置文件中配置了key,也要重启服务器完成修改也不太好,虽然之前知道可以通过Java Agent的方式完成修改,但当时没有了解过这个技术,最近刚好学习了Java Agent,所以抽空完成提过的需求。