目录遍历篇

一、目录遍历:

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、对用户传过来的文件名参数进行统一编码,对包含恶意字符或者空字符的参数进行拒绝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值