路径操作(Path Manipulation)的漏洞,简言之就是在路径中包含有一些特殊字符(… 或者 / 等),导致可以访问到期望目录之外的文件。
比如路径地址是/usr/local/myapp/../../../etc/passwd
,对应到访问到的文件就是/etc/passwd
, 而这个文件是系统的文件,保存用户密码。
使用Coverity 扫描的信息如下:
Filesystem path, filename, or URI manipulation
An attacker may access, modify, or corrupt files that contain sensitive information or are critical to the application.
关于路径操作漏洞,可以参考:
软件弱点预防之 —— Filesystem path, filename, or URI manipulation - 操控文件系统路径、文件名或 URI
本篇介绍在 Java应用中如何防御路径操作(Path Manipulation)的攻击。文章来源:https://www.toymoban.com/news/detail-402206.html
防御方法分析
在代码层面来看, 防御路径操作的方法就是对输入进行验证,根据对字符是否合法的角度来看, 可以分为两种:文章来源地址https://www.toymoban.com/news/detail-402206.html
- 黑名单 : 将不安全的字符列入黑名单,
- 白名单 : 将预期的字符加入白名单。 或者更严格一点,创建一份合法资源名的列表,并且规定用户只能选择其中的文
到了这里,关于Java防御路径操作(Path Manipulation) 的正确姿势的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!