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


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...

面试题 相关文章推荐
PHP如何防止SQL注入
May 03 面试题
普通PHP程序员笔试题
Jan 01 面试题
构造器Constructor是否可被override?
Aug 06 面试题
如何打开WebSphere远程debug
Oct 10 面试题
为什么要有struct关键字
May 08 面试题
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
Aug 13 面试题
如何为DataGridView添加一个定制的Column Type
Jan 21 面试题
你对IPv6了解程度
Feb 09 面试题
nohup的用法
Nov 26 面试题
MYSQL基础面试题
May 13 面试题
编程用JAVA解析XML的方式
Jul 07 面试题
高级Java程序员面试题
Jun 23 面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
渗透攻击的测试步骤
Jun 07 #面试题
介绍一下木马病毒的种类
Jul 26 #面试题
什么叫做SQL注入,如何防止
Oct 04 #面试题
如何查找网页漏洞
Jun 22 #面试题
动态密码技术
Oct 18 #面试题
一些网络技术方面的面试题
May 01 #面试题
You might like
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
jquery 学习笔记一
2010/04/07 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
python try 异常处理(史上最全)
2019/03/07 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
vscode调试django项目的方法
2020/08/06 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
python中四舍五入的正确打开方式
2021/01/18 Python
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
初任培训自我鉴定
2013/10/07 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
班干部演讲稿
2014/04/24 职场文书
交通文明倡议书
2014/05/16 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
公务员考察材料范文
2014/12/23 职场文书
先进工作者推荐材料
2014/12/23 职场文书
警示教育观后感
2015/06/17 职场文书
Python Flask实现进度条
2022/05/11 Python