目录遍历漏洞
概述
在 web 功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能变的更加灵活。 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执行其对应的文件。 在这个过程中,如果后台没有对前端传进来的值进行严格的安全考虑,则攻击者可能会通过“../”这样的手段让后台打开或者执行一些其他的文件。 从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞
目录遍历代码分析
path 可控 传入 scandir 函数再进行输出,会造成目录遍历漏洞
<?php
$dir_path=$_REQUEST[‘path’];
$filename=scandir($dir_path);
var_dump($filename);
?>
Web目录遍历攻击
目录遍历可以输入../返回上级目录 /遍历根目录 ./当前目录 c:访问 c 盘~/ 当前用户目录。
遍历网站或系统结构,寻找敏感文件,配合其他漏洞造成严重的安全隐患
中间件目录遍历攻击
中间件如果设置不当的时,也会造成目录遍历,如 apache ngnix iis 目录浏览,均可造成目录遍历,但是
这种目录遍历,只能遍历网站根目录,除非有特殊设置。
通过遍历目录或文件,寻找敏感文件,如 session 登录验证文件,数据库备份等。对网站构成重大安全隐患
目录遍历防御方案
1.对用户的输入进行验证,特别是路径替代字符如“../”和“~/”
2.尽可能采用白名单的形式,验证所有的输入。
3.合理配置 Web 服务器的目录权限。
4.当程序出错时,不要显示内部相关配置细节。
5.对用户传过来的文件名参数进行统一编码,对包含恶意字符或者空字符的参数进行拒绝
更新: 2025-05-05 14:22:38
原文: https://www.yuque.com/yuhui.net/network/wcgfa8l11k02fr35

评论(0)
暂无评论