免责声明
1. 本文仅用于技术交流,目的是向相关安全人员展示漏洞的存在和利用方式,以便更好地提高网络安全意识和技术水平。
2. 任何人不得利用本文中的技术手段进行非法攻击和侵犯他人的隐私和财产权利。一旦发生任何违法行为,责任自负。
3. 本文中提到的漏洞验证 poc 仅用于授权测试,任何未经授权的测试均属于非法行为。请在法律许可范围内使用此 poc。
4. CVES实验室对使用此 poc 导致的任何直接或间接损失不承担任何责任。使用此 poc 的风险由使用者自行承担。
漏洞1-RegisterServlet接口SQL注入
来源:
https://security.yonyou.com/#/noticeInfo?id=421
给了接口名,但是在 web.xml 文件中没有找到对应路由,那就看看 url-pattern 为 /* 的相关信息。
接着看看 nc.bs.framework.server.InvokerServlet 类,获取 /* 的内容设置为 serviceName 值,如果还得 / 则会再切一次,分出另外⼀个 moduleName ,接着调用getServiceObject 方法获取实例化对象。
由于 RegisterServlet 的父类为 IHttpServletAdaptor ,所以进入如上代码块中,调用RegisterServlet#doAction 方法。
第1和4的红框是可以用来控制回显的,这里有利于编写检测脚本。
第2的红框是⼀个限制IP的操作,但是此处可以用header头 X-Forwarded-For 伪造IP进行绕过。
第3的红框则是调用 getLSBFromRequest 方法,这里继续跟进。
传入的 usercode 最后会被拼接到SQL语句中,从而导致SQL注入。
条件为真时:
条件为假时:
漏洞2-ClientRequestDispatch反序列化漏洞
来源:
https://security.yonyou.com/#/noticeInfo?id=420
入口点也是 /servlet/* ,使用 /servlet/~模块名/全类名的方式进行访问(这里感谢L0ne1y师傅的指点)
环境中存在CC依赖,可以直接利用。
漏洞3-ClientRequestDispatch反序列化漏洞
来源:
https://security.yonyou.com/#/noticeInfo?id=419
与第二个漏洞不同的地方在于加了一层GZIP
最后这个漏洞复现就交给大家尝试吧,感觉如果存在gzip压缩的话用yakit是个不错的选择。
{{gzip(file(cc.ser))}}
广告
目前团队运营了两个知识星球分别为“追洞学苑”与“挖洞学苑”:
追洞学苑】会分享最新的漏洞POC,1day0day挖掘文章。
挖洞学苑】会分享国内/外原创漏洞赏金项目报告,各种漏洞挖掘小技巧。
原文始发于微信公众号(山海之关):用友U8Cloud多个1day漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论