犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

栏目: 编程工具 · 发布时间: 5年前

内容简介:RhinOS是一个使用最新功能开发网站的框架,可以为Web门户提供最快的访问和管理。RhinOS CMS对于网站管理功能十分强劲,内置允许使用数据库进程和解析器模块快速访问数据库,xml和其他资源,购物车,标签和参数化文件,配置参数,Intranet访问,数据库会话,电子邮件发送,验证码安全系统,快速过滤,列表和详细信息的模块,功能可谓是非常之多了。RhinOS CMS的download.php文件存在任意文件下载漏洞,通过漏洞能够下载任意的文件。RhinOS CMS 下载地址为:https://sour

1. 简介

RhinOS是一个使用最新功能开发网站的框架,可以为Web门户提供最快的访问和管理。RhinOS CMS对于网站管理功能十分强劲,内置允许使用数据库进程和解析器模块快速访问数据库,xml和其他资源,购物车,标签和参数化文件,配置参数,Intranet访问,数据库会话,电子邮件发送,验证码安全系统,快速过滤,列表和详细信息的模块,功能可谓是非常之多了。RhinOS CMS的download.php文件存在任意文件下载漏洞,通过漏洞能够下载任意的文件。

2. 环境搭建

RhinOS CMS 下载地址为:https://sourceforge.net/projects/rhinos/。下载完成后,打开文件,一直点下一步就能够完成安装,如图1所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图1 完成安装

由于一些编码原因,安装成功后的的信息会显示一些乱码,如果使用西班牙语的系统就能正常显示了。然后需要将httpd.conf中的端口修改为8080端口,修改端口是为了避免和WINDOWS本身一些服务冲突,http.conf所在路径为:C:\rhinos\httpd\conf\httpd.conf。如图2所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图2 httpd.conf所在路径

右键编辑将文件中的80端口修改为8080端口,如图3所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图3 修改端口

修改端口后需要重启阿帕奇服务,重启服务后访问http://127.0.0.1:8080。就能够访问到已经搭建好的CMS了,如图4所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图4 重启阿帕奇服务后访问

3. 漏洞代码审计

漏洞存在于C:\rhinos\demo\admin\php\download.php中,在第30行代码,能够看到文件读取的路径拼接操作,如图5所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图5 download.php

看到getParam(),查找这个方法是如何实现的。

这个函数存在于:C:\rhinos\demo\admin\php\connect.php。第88行,如图6所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图6 connect.php

这个函数中获取了”file”的参数,通过POST或者GET提交都是可以的。然后根据图5所示第41行触发文件读取操作,如果控制参数file则能够成为任意文件读取漏洞或者为任意文件下载漏洞。

4. 漏洞复现

在复现之前需要找到从什么地方调用到了download.php,在经过测试之后发现通过这个URL提交就能够利用漏洞下载到config.php文件,但是首先需要登录后台。URL如下:http://127.0.0.1:8080/admin/inicio.php?include=php/download.php&name=efe.php&file=../config.php,如图7所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图7 下载config.php

当然既然是任意文件下来漏洞肯定可以下载windows目录下面的win.ini文件,使用URL为:http://127.0.0.1:8080/admin/inicio.php?include=php/download.php&name=efe.php&file=../../../../Windows/win.ini。执行后就能够下载文件了。如图8所示。

犀牛(RhinOS)CMS 3.X任意文件下载漏洞(CVE-2018-18760)

图8 下载win.ini

5. 修复建议

根据前文的描述能够看出,漏洞存在一定的危害。应该对于漏洞进行修复,关于如何去修复漏洞。

1) 过滤点[.]要求用户在url中不能回溯上级目录。

2) 正则严格判断用户输入参数的格式,保证输入参数的准确性。

3) 将下载区独立放在项目路径外,分配每个下载资源固定的URL,不能是所有的下载资源都是统一的URL:

http://127.0.0.1:8080/admin/inicio.php?include=php/download.php&name=efe.php&file=文件名


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微创新

微创新

德鲁•博迪、雅各布•戈登堡 / 钟莉婷 / 中信出版社 / 2014-4-5 / 42.00

好产品不一定要颠覆,微小改进就能让用户尖叫! 引爆创新领域的全新方法论 互联网时代行之有效的5大创新策略 创业者、产品经理必读的创新行动指南 《怪诞行为学》作者 丹•艾瑞里 《影响力》作者 罗伯特•西奥迪尼 全球50位最具影响力的商业思想家之一丹尼尔•平克 周鸿祎、黎万强、罗振宇、牛文文、张鹏 联袂重磅推荐 为什么iPod可以在众多mp3产品中......一起来看看 《微创新》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换