0


Java防御路径操作(Path Manipulation) 的正确姿势

路径操作(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)的攻击。

防御方法分析

在代码层面来看, 防御路径操作的方法就是对输入进行验证,根据对字符是否合法的角度来看, 可以分为两种:

  1. 黑名单 : 将不安全的字符列入黑名单,
  2. 白名单 : 将预期的字符加入白名单。 或者更严格一点,创建一份合法资源名的列表,并且规定用户只能选择其中的文

本文转载自: https://blog.csdn.net/oscar999/article/details/128652020
版权归原作者 oscar999 所有, 如有侵权,请联系我们删除。

“Java防御路径操作(Path Manipulation) 的正确姿势”的评论:

还没有评论