目录遍历篇

一、目录遍历:

1、漏洞概述:

        在 web 功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能变的更加灵活。当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再访问其对应的文件。 在这个过程中,如果后台没有对前端传进来的值进行严格的安全考虑,则攻击者可能会通过 “../” 这样的手段让后台打开或者执行一些其他的文件。从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞。

二、漏洞复现:

1、scandir 函数漏洞:

(1)示例源码

(2)payload:

?path=../
?path=D:/

(3)回显:

2、 中间件目录遍历

        中间件如果设置不当时,也会造成目录遍历,如 apache,ngnix,iis 目录浏览,均可造成目录遍历,但是这种目录遍历,只能遍历网站根目录,除非有特殊设置。 通过遍历目录或文件,寻找敏感文件,如 session 登录验证文件,数据库备份等,对网站构成重大安全隐患。

目录遍历篇_第1张图片

这时候就可以进任意目录遍历了。

三、漏洞预防:

1、对用户的输入进行验证,特别是路径替代字符如“../”和“~/”。

2、尽可能采用白名单的形式,验证所有的输入。

3、合理配置 Web 服务器的目录权限(例如默认访问 index.php ,这样攻击者就看不到目录了)。

4、当程序出错时,不要显示内部相关配置细节。

5、对用户传过来的文件名参数进行统一编码,对包含恶意字符或者空字符的参数进行拒绝。

你可能感兴趣的:(安全,web安全)