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


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

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方法检查访问的文件是否位于应用程序指定的起始位置

Tags in this post...

面试题 相关文章推荐
线程的基本概念、线程的基本状态以及状态之间的关系
Oct 26 面试题
WebSphere 应用服务器都支持哪些认证
Dec 26 面试题
什么是serialVersionUID
Mar 04 面试题
Java基础知识面试要点
Jul 29 面试题
一套Java笔试题
Aug 20 面试题
如何向接受结构参数的函数传入常数值
Feb 17 面试题
说一下mysql, oracle等常见数据库的分页实现方案
Sep 29 面试题
创建索引时需要注意的事项
May 13 面试题
开放系统互连参考模型
Jun 29 面试题
分别介绍一下Session Bean和Entity Bean
Mar 13 面试题
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
Nov 18 面试题
Servlet如何得到客户端机器的信息
Oct 17 面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
渗透攻击的测试步骤
Jun 07 #面试题
介绍一下木马病毒的种类
Jul 26 #面试题
什么叫做SQL注入,如何防止
Oct 04 #面试题
如何查找网页漏洞
Jun 22 #面试题
动态密码技术
Oct 18 #面试题
一些网络技术方面的面试题
May 01 #面试题
You might like
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
Javascript 继承实现例子
2009/08/12 Javascript
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
python发送伪造的arp请求
2014/01/09 Python
python的else子句使用指南
2016/02/27 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
使用pip安装python库的多种方式
2019/07/31 Python
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
建筑个人求职信范文
2014/01/25 职场文书
平安校园建设方案
2014/05/02 职场文书
导师就业推荐信范文
2014/05/22 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014年班组工作总结
2014/11/20 职场文书
研讨会致辞
2015/07/31 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS