eyoucms 1.5.5任意命令执行漏洞
文章目录
eyoucms 1.5.5任意命令执行漏洞
一、漏洞简介
二、漏洞影响
三、复现过程
漏洞位置
漏洞分析
漏洞利用
一、漏洞简介
eyoucms1.5.5后台存在任意命令执行漏洞。
二、漏洞影响
eyoucms1.5.5
三、复现过程
漏洞位置
application\admin\logic\FilemanagerLogic.php editFile函数。
漏洞分析
当我们在模板管理功能的页面中传入php代码时会被解析。但是存在过滤,过滤如下:
$content = htmlspecialchars_decode($content, ENT_QUOTES);
if (preg_match('#<([^?]*)\?php#i', $content) || (preg_match('#<\?#i', $content) && preg_match('#\?>#i', $content)) || preg_match('#\{eyou\:php([^\}]*)\}#i', $content) || preg_match('#\{php([^\}]*)\}#i', $content)) {
return "模板里不允许有php语法,为了安全考虑,请通过FTP工具进行编辑上传。";
}
很明显主要的目的是不让传带php标签的内容,大体规则如下。
1、内容中不能有<?php
2、内容中不能同时有<? 和?>
3、内容中不能有{eyou:phpxxx
4、内容中不能有{php xxx
我们可以发现第二条存在一个隐患,即我们可以传入<?=要执行的代码;来绕过,比如<?=exec('whoami');,但是我们没有闭合的话后面的html内容可能会被当成php代码,所以需要把我们要用的代码放到最后即。
漏洞利用
1、登录后台修改template/pc/index.htm模板
2、访问前台首页,成功得到回显信息。
注:每一个漏洞都要重视,否则一旦被黑客利用,网站将会被攻击不能正常使用,甚至无法恢复。为了避免造成不必要的损失,及时升级更新!
发表评论 取消回复