08CMS 变量覆盖导致getshell 等问题

我也是初学php 文章有什么不对的 还望各位指出错误 见谅 。。。
=================================================================
/Include/general.inc.php 21-26行

这样写虽然很方便但是变量没初始化的时候我们就可以提交了

我们看看 Index.php 文件

我们看看这句代码
$_SERVER[‘QUERY_STRING’]就是获取查询字符串的。。比如说xx.php?id=222 他就获取了id=222
un_virtual这个函数是过滤获取查询字符串的我们看看是咋写的

parse_str()这个是把查询字符串解析到变量中 用于存储的变量是$temparr这个

我们接着看下面的吧

\include\refresh.fun.php 2行

$tplname都是我们控制的 我们可以上传个图片来生成文件 还可以找找有木有其他生成的地方

\tools\ptool.php

aid没有是初始化我们可以提交

8 aid没有是初始化我们可以提交

好了 现在可以提交了 写文件了 但是还有个限制就是不能跳出目录 因为一开始有过滤的(开头的代码)

parse_str(un_virtual($_SERVER[‘QUERY_STRING’]),$temparr);
不过由于parse_str 这个函数 会自动url解码 所以我们加一次url编码就可以绕过un_virtual的过滤了~

这个cms还是有很多问题的。。

利用写了个exp 新手可能有错误 大家见谅:

应该是通杀的吧

有的版本需要转2此url码
因为有的开始就解码了

汽车CMS4.1 GBK版 :
exp index.php?tplname=..%252f..%252fdynamic%252fstats%252faclicks.cac
shell /dynamic/tplcache/common/….dynamicstatsaclicks.cac.php
装修 CMS :
shell: /dynamic/dynamic/stats/aclicks.cac.php

附上个HTML上传的代码

(因为08cms版本很多 文章版本是 汽车4.3 UTF-8版的)

=======================================
来源:90‘s blog 作者:honker90

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录