路径穿越/遍历

该博客探讨了文件上传的安全问题,特别是如何通过白名单检查和路径遍历来防止恶意文件访问。文章中提到,即使有两次白名单检查,攻击者仍可能利用‘../’构造来绕过限制,访问任意文件,如通过URL编码‘..%252f..%252f/etc/passwd’。作者建议加强路径验证和文件上传目录的隔离,以增强系统安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提知识:

相对于正常输入的,目录/文件名这类,/../在路径也是有效的,不过它有点独特,发挥返回上一层目录的作用。因此,在知道目录有几层的情况下,就可以通过相对应层数的/../来返回到根目录,借此来实现任意文件的访问

一般操作:

使用案例: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值