任意文件删除的一个总结
这两天看了两三个任意文件删除的洞。说实话任意文件删除还算是比较好分析的一个漏洞。
漏洞的成因主要就是删除的目录路径是我们可控的,且并没有对这个路径进行任何的限制。
php常见的删除命令比如rmdir和unlink这种,如果后面跟的是一个可控的变量就很容易导致这个漏洞。
像我看以前phpcms爆出的一个任意文件删除,这个洞简直随意到让人觉得不是phpcms
public function pullic_delthumbs() {
$filepath = urldecode($_GET['filepath']);
$reslut = @unlink($filepath);
if($reslut) exit('1');
exit('0');
}
很简单的直接就把GET传入的参数给删除了没有什么过滤,分析起来也很容易。不过像有些任意文件删除会稍微绕一下
像我分析的monxin cms这个好玩的是他会先会把传入的数据先更新,满足条件会删除。所以要传入两次才会达到任意文件删除的效果。
总的来说这个洞注意的就是删除命令的参数是否可控。没有什么特别好说的