软件测试之路径遍历漏洞的防范与检测

路径遍历漏洞是什么?
为了识别位于受限的父目录下的文件或目录,软件使用外部输入来构建路径。由于软件不能正确地过滤路径中的特殊元素,能够导致访问受限目录之外的位置。

许多文件操作都发生在受限目录下。攻击者通过使用特殊元素(例如,“…”、“/”)可到达受限目录之外的位置,从而获取系统中其他位置的文件或目录。例如 …/ 作为一种常见的特殊字符串,在大多数操作系统中被解释为当前位置的父目录,这种使用特殊元素…/的路径遍历漏洞又被称为相对路径遍历。路径遍历还包括使用绝对路径名(如 /usr/local/bin ),用于访问非预期的文件,这称为绝对路径遍历。

路径遍历漏洞的构成条件有哪些?
1、数据从不可靠来源(包括但不局限于不可靠用户的输入信息或是不可靠用户可能更改的文件)进入应用程序;

2、该数据被用于构造新的文件目录,进一步进行访问或修改。

路径遍历漏洞会造成哪些后果?
关键词:执行未经授权的代码或命令;读取、修改文件或目录;崩溃,退出或重启

1、攻击者可能创建或覆盖关键文件。例如程序或库,并用于执行;

2、攻击者绕过安全机制获取重要数据。例如,在可访问的文件路径末尾附加 …/ 等路径并重定向到本无权限的重要数据,这可能允许攻击者绕过身份验证;

3、攻击者可能能够覆盖,删除或损坏关键文件。例如程序,库或重要数据。这可能会阻止软件完全工作,并且在诸如认证之类的保护机制的情况下,它有可能锁定软件的每个用户。

路径遍历漏洞的一些防范和修补建议:
从实现角度,进行输入验证:对输入的信息进行验证。使用严格符合规范的可接受输入的白名单。拒绝任何不严格符合规范的输入,或将其转换为具有相应规格的输入。

路径遍历漏洞的样例(以Java为例):
下面的代码尝试检查给定的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值