php 移动端端禁止访问根目录某个文件_【学习笔记】常见WEB漏洞:目录穿越与文件包含...

第   17    

-THE SEVENTEENTH-

目录穿越与文件包含)

课程入口(付费)

50748bf566ef8ab293ae86cc81b42a65.png

个人背景

李,本科,电子信息工程专业,毕业一年半,有JavaScript的,PHP,Python的语言基础,目前自学网络安全中。

目录穿越与文件包含

01   目录遍历

1.1 目录遍历概念

目录穿越是由于Web服务器或Web应用程序对用户输入文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过HTTP请求利用一些特殊字符就可以绕过服务器的安全限制,访问任意受限的文件(可以是Web根目录以外的文件),甚至执行系统命令。

1.2 目录遍历示例

一个Web应用的网站文件在/var/www/html目录下,理论上我们通过这个应用只能访问到Web应用的页面文件,并且只能是允许访问的,但如果存在目录穿越漏洞,则可以访问那些不允许访问的文件,比如数据库配置文件,甚至可以访问/var/www/html目录外的文件,比如Linux的密码文件/etc/passwd。

看这个链接:http://www.a.com/file.php?filename=正常参数

但如果存在目录遍历我们可以构造这样的参数:filename=../../../../../../etc/passwd

链接变为:http://www.a.com/file.php?filename=../../../../../../etc/passwd

0c3aac1334a3f5d96707b8cabaa780ad.png

通过我们构造的 payload 链接就可以到达根目录,并访问Linux的密码文件/etc/passwd。

02 文件包含

2.1 文件包含的概念

文件包含其实是一个正常的方法,经常在开发的时候会有一些共用的代码在多个文件中会复用,那么开发人员往往会把这样的代码或者方法写在一个文件里,而采用文件包含的方法直接包含到代码里的方法中。

2.2 文件包含示例

80efa48d5a3ca6b3a9665c8a1d77e8a2.png

当访问:http://www.a.com/file.php?filename=phpinfo.php

1cd77ed527d6459b41128a176668f336.png

这就意味着包含phpinfo.php这个文件,phpinfo.php中的代码被包含到file.php中执行了。

这其实就是本地包含,就上面的代码,大家可以发现,其实在做include的时候并没有对$_GET['filename']的值做相关的处理,那么意味着这里就可以是任意的文件,就会存在本地文件包含漏洞。

2.3 目录遍历和文件包含的区别

5d59562bad2d6c35db6e7708421ccf79.png

2.4 远程文件包含

上面介绍的都是本地文件包含,现在说说远程文件包含漏洞:

0334e44c50ed34111160815f362a8e94.png      

下面的网址链接就实现了远程文件包含,远程文件名 1.txt 的内容为 test:   

     94d86a49d693c209566e92cc74c7b3ed.png

2.5 目录穿越和文件包含利用

  • 读取敏感信息,比如/etc/passwd密码文件;

  • 读取网站的数据库配置文件等

  • 利用远程文件包含去包含远程文件,而远程文件中如果包含写一句话的木马,并且有写权限 的情况下就可以成功写入一句话木马。

03 防御 

基本的方法是设置白名单,总的来说,要防御目录穿越或者文件包含漏洞,主要还是需要包含或者访问什么,那么就允许什么,其他都应该直接禁止掉。

0

下期更新笔记内容:

常见WEB漏洞:JSONP安全与防御

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值