eyoucms 1.5.5任意命令执行漏洞(0day)
Posted yu22x
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eyoucms 1.5.5任意命令执行漏洞(0day)相关的知识,希望对你有一定的参考价值。
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、访问前台首页,成功得到回显信息。
以上是关于eyoucms 1.5.5任意命令执行漏洞(0day)的主要内容,如果未能解决你的问题,请参考以下文章
WordPress 任意命令执行漏洞 (PwnScriptum)