用友U8cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案,全面支持多组织业务协同、营销创新、智能财务、人力服务,构建产业链制造平台,融合用友云服务,实现企业互联网资源连接、共享、协同,赋能中国成长型企业高速发展、云化创新。
用友U8Cloud在全版本中存在反序列化漏洞。未经授权的攻击者可以通过访问FileTransportServlet类时构造恶意请求包,当传递的恶意序列化数据被系统反序列化后,将会导致远程代码执行,从而使得服务器被控制。
网上有用友漏洞官方预警,但是没有公开利用poc
publicvoidperformTask(HttpServletRequest request, HttpServletResponse response)throws Exception {
GZIPInputStreaminput=newGZIPInputStream((InputStream)request.getInputStream());
GZIPOutputStreamoutput=newGZIPOutputStream((OutputStream)response.getOutputStream());
ObjectOutputStreamobjOut=newObjectOutputStream(output);
ObjectInputStreamobjInput=newObjectInputStream(input);
FileTransportVOtransVO= (FileTransportVO)objInput.readObject();
UnitInfoVOunitInfo= IUFOUICacheManager.getSingleton().getUnitCache().getUnitInfoByCode(transVO.getUnitCode());
if (unitInfo != null) {
StringstrUnitID= unitInfo.getPK();
ImportFileUtil.importFileByUnit(request.getSession().getId(), transVO.getContent(), strUnitID, transVO.getLangCode());
objOut.writeObject(null);
} else {
objOut.writeObject(newUfoException("miufoexpnew00034", newString[] { transVO.getUnitCode() }));
}
objInput.close();
objOut.close();
input.close();
output.close();
}
原文始发于微信公众号(Code4th安全团队):用友U8Cloud FileTransportServlet 反序列化漏洞(附利用脚本地址)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论