前提知识:
相对于正常输入的,目录/文件名这类,/../在路径也是有效的,不过它有点独特,发挥返回上一层目录的作用。因此,在知道目录有几层的情况下,就可以通过相对应层数的/../来返回到根目录,借此来实现任意文件的访问
一般操作:
使用案例:buuctf[第二章 web进阶]文件上传
前后两次白名单检查,即使是上传成功,不在白名单里面也会被删除
那就不上传到这个目录,去别的目录,查一下代码看层数
$dir = 'upload/';
$temp_dir = $dir.md5(time(). rand(1000,9999));
move_uploaded_file($file['tmp_name'],$temp_dir.'/'.$file['name'];
两层,那就../../
绕过:
url编码绕过:..%252f..%252f/etc/passwd