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