GateOne CVE-2020-35736 任意文件读取漏洞复现

  • A+
所属分类:安全文章

0x00:简介


    GateOne 是一款使用 HTML5 技术编写的网页版 SSH 终端模拟器。基于现代的 HTML5 技术,无需任何浏览器插件、支持多个 SSH 进程、可以嵌入到其他任意应用程序中、支持使用 JavaScriptPython 甚至纯 CSS 编写的插件、支持 SSH 进程副本,打开多个进程而无需重复输入密码、 支持各种服务器端的日志功能,支持 Keberos-based 单点登录甚至活动目录、 支持操作日志记录,具有操作记录回放功能。

GateOne CVE-2020-35736 任意文件读取漏洞复现


 

0x01:分析


    查看文件gateone / core / server.py在第3692行中,您可以找到设置处理程序的位置。

GateOne CVE-2020-35736 任意文件读取漏洞复现    可以看到downloads /没有使用Tornado附带的StaticFileHandler,但是使用的是作者本人编写的方法,该方法可能存在漏洞。

    可以在第924行找到get方法的定义:

def get(self, path, include_body=True):    session_dir = self.settings['session_dir']    user = self.current_user    if user and 'session' in user:        session = user['session']    else:        logger.error(_("DownloadHandler: Could not determine use session"))        return # Something is wrong    filepath = os.path.join(session_dir, session, 'downloads', path)    abspath = os.path.abspath(filepath)    if not os.path.exists(abspath):        self.set_status(404)        self.write(self.get_error_html(404))        return    if not os.path.isfile(abspath):        raise tornado.web.HTTPError(403, "%s is not a file", path)

   注意关键部分。可以看到该路径被拼写为文件路径,而没有任何过滤。有目录遍历,并且可以读取任何文件。

0x02:复现

使用官方docker镜像构建测试环境。

1、拉取docker镜像

docker pull liftoff/gateone

2、运行docker

#Commanddocker run [-d/-t] -p [443]:8000 -h [hostname] --name gateone liftoff/gateone gateone#For example, if 443 is occupied on the server, please use another unused port.docker run -t -p 443:48620 -h Rats --name gateone liftoff/gateone gateone
安装后,请访问https:// ip:port.如果浏览器可能报告它不安全,请忽略它。

GateOne CVE-2020-35736 任意文件读取漏洞复现

注:仅做本地环境测试,切勿外部测试。违者后果自负。


文章来源:

https://github.com/liftoff/GateOne/issues/747


GateOne CVE-2020-35736 任意文件读取漏洞复现

扫码二维码

获取更多精彩

洛米唯熊

GateOne CVE-2020-35736 任意文件读取漏洞复现




点个在看 你最好看



GateOne CVE-2020-35736 任意文件读取漏洞复现

本文始发于微信公众号(洛米唯熊):GateOne CVE-2020-35736 任意文件读取漏洞复现

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: