0day审计之某微代码审计
2022-12-2 08:57:58 Author: 亿人安全(查看原文) 阅读量:33 收藏

前话:

可以回看前文《java代码审计新-0到无》,这里就不再诉述。

第一:看历史漏洞

泛微前台注入/js/hrm/getdata.jsp注入点前台注入

https://www.cnblogs.com/0day-li/p/14637680.html,关键点java全局

搜索“request.getParameter(”并且java类里面必须存在“executeSql”。

第二:流Stream

搜索文件上传的关键类或者方法,这里我直接搜索流(Stream),全局搜索new BufferedInputStream(,idea只能显示一部分可以利用sublime_text进行搜索,我就用后者搜索可以显示多点,不过这里不懂怎么指定后缀搜索,搜索出285133个文件,主要看java类。

这里跟进到这个文件(类),可以用idea看会好看一点,也比较看得

懂。

思路:
1:获取/mobilemode/skin的文件夹目录
2:file文件上传参数赋值给i,默认为0
3:判断sql查询imagefile的filerealpath,isaesencrypt,aescode返回是否有值
4:将sql查询到的filerealpath值赋值到str3
5:通过file实例获取str3赋值到file2

6:通过file实例获取/mobilemode/skin和当前时间+1L创建新的实例赋值到

file3,不存在文件夹就创建(随机文件夹)

7file2file3的路径加载到upzip方法,并创建压缩文件实例进行解

8:创建BufferedOutputStreamBufferedInputStream

BufferedOutputStream实例将file3读取并设置根目录,BufferedInputStream实例将通过zipfile对象获取流

9:以1024字节读取BufferedInputStream并以1024字节写入

BufferedOutputStream的流里,也就是解压的文件,并刷新。

10:回到_import方法,判断file3下的_.xml.css文件和images文件夹是否

存在

11:将file4的值(xml文件)加载到readxml方法进行读取,检查是

否有idnamepreviewImgisEnabledordersubCompanyId的属性并利用三元表达式进行判断,并返回skin。(建议都不为空)

12:判断返回值是否为空并且id属性不能为空,后面的就不关心了

调用链:

classbean/com/weaver/formmodel/mobile/skin/SkinAction.java

(怎么搜索的?全局搜索)execute方法判断action等于import就加载_import方法,

并且将httpServletRequest对象加载进去,而这个getAction怎么来的?

他这个方法是继承了extends MobileAction并通过http请求获取action参数,然后进行全局jsp文件搜索SkinAction,发现通过了jionActionUrl方法调用,在第2行包含了<%@ include file="/mobilemode/init.jsp"%>,根据里方法构造出路径。

路径:

/mobilemode/Action.jspinvoker=com.weaver.formmodel.mobile.skin.SkinAction&action=import

地址:

http://127.0.0.1/mobilemode/skin/C99ABD76E1D00001197FF6521E5B160/1.txt

最后
压缩包下必须存在_.xml.css文件和images文件夹
xml文件必须有idnamepreviewImgisEnabledordersubCompanyId的属性
路径:
/mobilemode/Action.jsp?invoker=com.weaver.formmodel.mobile.skin.SkinAction&action=import

马子:

http://127.0.0.1/mobilemode/skin/321321/1.jsp

求职:

笔者求深圳内推安全岗


文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0MTIzNTgzMQ==&mid=2247501885&idx=1&sn=dba7a4cc16527e5337825d1d2df4f8c4&chksm=c2d70325f5a08a33947f301b95f0a5aad927dbf83d08da8c6fa8cf137020295aa742ab988db1#rd
如有侵权请联系:admin#unsafe.sh