首页 > 就业 > 笔试

介绍一下如何利用路径遍历进行攻击及如何防范笔试题目

介绍一下如何利用路径遍历进行攻击及如何防范笔试题目



介绍一下如何利用路径遍历进行攻击及如何防范笔试题目

  如果应用程序使用用户可控制的数据,以危险的'方式访问位于应用服务器或其它后端文件系统的文件或目录,就会出现路径遍历

  String rurl = request.getParameter(“rurl”);

  BufferedWriter utput2 = new BufferedWriter(new FileWriter(new File(“/home/chenyz/”+rurl)));

  攻击者可以将路径遍历序列放入文件名内,向上回溯,从而访问服务器上的任何文件,路径遍历序列叫“点-点-斜线”(..\)

  http://***/go.action?file=..\..\etc\passwd

  避开过滤

  第一种是过滤文件名参数中是否存在任何路径遍历序列(..\)

  如果程序尝试删除(..\)来净化用户输入,可以用

  ….// ….\/ …./\ ….\\

  进行URL编码

  点–>%2e 反斜杠–>%2f 正斜杠–>%5c

  进行16为Unicode编码

  点–>%u002e 反斜杠–>%u2215 正斜杠–>%u2216

  进行双倍URL编码

  点–>%252e 反斜杠–>%u252f 正斜杠–>%u255c

  进行超长UTF-8 Unicode编码

  点–>%c0%2e %e0$40%ae %c0ae

  反斜杠–>%c0af %e0%80af %c0%af

  正斜杠–>%c0%5c %c0%80%5c

  预防路径遍历的方法:

  1.对用户提交的文件名进行相关解码与规范化

  2.程序使用一个硬编码,被允许访问的文件类型列表

  3.使用getCanonicalPath方法检查访问的文件是否位于应用程序指定的起始位置

    版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。

    本文地址:https://www.gunzhua.com/jiuye/bishi/51736.html

相关内容

热门阅读
随机推荐