Web安全读书笔记8- 路径遍历漏洞
2010-03-05 14:37
218 查看
https://wahh-app.com/scripts/GetImage.aspx?file=diagram1.jpg
file那里提交 ..\..\windows\repair\sam
linux的话提交../../../../etc/passwd
windows 的路径接受/ 和\
而linux的路径只接受/
对于路径遍历可以尝试使用各种编码
URL编码 Unicode编码 等等
dot %2e
forward slash %2f
如果应用程序尝试通过删除遍历序列来净化输入,但没有以递归方式应用这种过滤时候
….//
….\/
…./\
….\\
一些应用程序会检查用户提交的文件是否以某种文件类型结尾,插入URL空字节,在后面连接应用程序接受的文件类型,从而避开这种检查
../../../boot.ini%00.jpg
这种攻击有时候会成功,因为应用程序使用API在托管执行环境下执行文件类型检查,该执行环境允许字符串包含空字符(如java的String.endswith()),但是当提取文件时,文件名会被截断为想要的值。
另一种针对过滤的是使用换行符,例如unix会立即截断文件名
../../../boot.ini%0a.jpg
一些应用程序检查用户提交的文件名的开头部分是否为起始目录的某一个字符目录,如下可以避开
wahh-app/images/../../../../../etc/passwd
一些应用程序为下载用户文件的URL进行模糊化处理,防止泄露文件的路径,常用定制的base64编码
如果
../../../.././etc/passwd/../../tmp/foo
模糊化url为
fhaljfkdljfiekrmkdnfkjdhklfjdksfsdfdsljfdklshfdsfjsdkl8437589
规范化为
/tmp.foo
要修改这个值得到/etc/passwd只需从右边截断为
fhaljfkdljfiekrmkdnfkjdhklfjdksfsdf
在上传的文件名出现一个多余的./因为可以确保截断后的url符合base64编码规则,在3字节的明文边界结束,并因此在4字节的编码文本边界结束。
避免遍历攻击
对文件名以适当的文件系统API确认
java中使用getCanonicalPath方法
ASP.net中使用System.IO.Path.GetFullPath方法
在unix中使用chrooted文件系统防止路径向上回朔 阅读更多
file那里提交 ..\..\windows\repair\sam
linux的话提交../../../../etc/passwd
windows 的路径接受/ 和\
而linux的路径只接受/
对于路径遍历可以尝试使用各种编码
URL编码 Unicode编码 等等
dot %2e
forward slash %2f
如果应用程序尝试通过删除遍历序列来净化输入,但没有以递归方式应用这种过滤时候
….//
….\/
…./\
….\\
一些应用程序会检查用户提交的文件是否以某种文件类型结尾,插入URL空字节,在后面连接应用程序接受的文件类型,从而避开这种检查
../../../boot.ini%00.jpg
这种攻击有时候会成功,因为应用程序使用API在托管执行环境下执行文件类型检查,该执行环境允许字符串包含空字符(如java的String.endswith()),但是当提取文件时,文件名会被截断为想要的值。
另一种针对过滤的是使用换行符,例如unix会立即截断文件名
../../../boot.ini%0a.jpg
一些应用程序检查用户提交的文件名的开头部分是否为起始目录的某一个字符目录,如下可以避开
wahh-app/images/../../../../../etc/passwd
一些应用程序为下载用户文件的URL进行模糊化处理,防止泄露文件的路径,常用定制的base64编码
如果
../../../.././etc/passwd/../../tmp/foo
模糊化url为
fhaljfkdljfiekrmkdnfkjdhklfjdksfsdfdsljfdklshfdsfjsdkl8437589
规范化为
/tmp.foo
要修改这个值得到/etc/passwd只需从右边截断为
fhaljfkdljfiekrmkdnfkjdhklfjdksfsdf
在上传的文件名出现一个多余的./因为可以确保截断后的url符合base64编码规则,在3字节的明文边界结束,并因此在4字节的编码文本边界结束。
避免遍历攻击
对文件名以适当的文件系统API确认
java中使用getCanonicalPath方法
ASP.net中使用System.IO.Path.GetFullPath方法
在unix中使用chrooted文件系统防止路径向上回朔 阅读更多
相关文章推荐
- 路径遍历与文件读取漏洞以及其修复方案
- Apache Camel Mail 路径遍历漏洞(CVE-2018-8041)
- WordPress 最新版存在XSS和路径遍历漏洞,请快修补!
- ewebeditor遍历路径漏洞
- 浅析路径遍历漏洞 文/饭
- ewebeditor遍历路径漏洞
- [转]路径遍历漏洞检测与防范
- 整理网上的关于 路径遍历漏洞
- J2ME遍历手持机所有根路径找出并RMS存储可用空间最大路径
- VC++根据路径遍历所有文件
- matlab遍历子文件夹并获取子文件夹名字以及绝对路径
- c++修改文件名后缀 文件路径分解与批处理文件遍历
- 【web漏洞百例】2.路径操纵、密码硬编码
- 文件遍历(数据表关联获取目标文件具体路径)
- ColdFusion8目录遍历漏洞
- Allaire JRun 目录遍历漏洞
- 遍历寻找给定两点之间的所有路径
- 相对路径和绝对路径错误造成的漏洞
- Win32遍历指定路径下的文件(Shell实现)
- WordPress NextGEN Gallery插件路径泄露漏洞