关注圣博润了解更多!
1
漏洞描述
RhinOScms是一套Web开发框架,可以为Web门户提供快速的访问和管理。内置允许使用数据库进程和解析器模块快速访问数据库,购物车,标签和参数化文件,配置参数,Intranet访问,数据库会话,电子邮件发送,验证码安全系统,快速过滤,列表和详细信息的模块。RhinOScms 3.0 build 1190版本中download.php存在任意文件下载漏洞,远程攻击者可利用该漏洞下载任意文件。
2
漏洞细节
漏洞存在于demo/admin/php/download.php文件中,查看文件download.php可以看到文件读取路径的拼接操作。
图1
然后看一下getParam函数,函数位置/admin/php/connect.php文件中:
图2
简单判断GET方式和POST方式获取到图1中的参数file,参数file没有做任何限制,控制参数file即可实现任意文件下载。
在文件download.php中包含了文件inicio.php:
代码对变量inculde进行判断,只有符合php/xxx.php格式,才能包含include变量,poc为http://xxx/admin/inicio.php?include=php/download.php&name=文件命名&file=文件名,name变量实现文件下载命名,可参考图一图二代码。因admin为后台路径,所以实现任意文件下载需登入后台才能进行操作。尝试下载mysql.php文件。
3
修复方案
1. 过滤.(点),使用户在url中不能回溯上级目录
2. 正则严格判断用户输入参数的格式
4
参考链接
https://packetstormsecurity.com/files/150018/RhinOS-CMS-3.x-Arbitrary-File-Download.html
https://www.exploit-db.com/exploits/45729
检索最新漏洞信息
提供漏洞预警、通告及响应服务
作为一家专业的网络安全服务供应商
圣博润特别注重对最新安全漏洞的发现和追踪
以“及时性、准确性、层次性”为宗旨
为用户提供漏洞预警、通告及响应服务
领取专属 10元无门槛券
私享最新 技术干货