bWAPP Miss Functional Level Access Control (不合理的访问权限控制)

本文深入探讨Web安全领域常见漏洞,包括目录穿越、文件包含、主机头攻击、设备访问限制、文件与文件夹访问控制、服务器侧请求伪造及XML外部实体攻击。通过实例演示如何利用这些漏洞,以及不同安全级别下的防护措施。

0x01、Directory Traversal - Directories

目录穿越,  也被称为目录遍历/directory traversal/path traversal)是通过使用 ../ 等目录控制序列或者文件的绝对路径来访问存储在文件系统上的任意文件和目录,特别是应用程序源代码、配置文件、重要的系统文件等。

Low

观察URL,  参数directory=documents,  是一个目录,  且页面列出了docments下的所有文件信息,  这就为目录遍历创造了条件:

1.  可控变量:  directory

2.  恶意输入

尝试用 ../ 返回上一级目录:

由于没有对网站根目录做限制,  ../ 可以返回至根目录:

更大胆的做法是,  直接可以通过绝对路径来目录穿越:

Medium

Medium等级对directory变量值做了过滤:

即使对 ../ 等做了过滤,  但是仍然可以用绝对路径:

High

high级别就利用realpath()函数,  做了绝对的防护:

realpath() 函数:  返回绝对路径。该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),并返回绝对路径名。

 

 

 

0x02、Directory Traversal - Files

目录穿越+文件包含

常见的文件包含漏洞的形式为 <?php include("inc/" . $_GET['file']); ?>

考虑常用的几种包含方式为

  • 同目录包含 file=.htaccess
  • 目录遍历 ?file=../../../../../../../../../var/lib/locate.db
  • 日志注入 ?file=../../../../../../../../../var/log/apache/error.log
  • 利用 /proc/self/environ

其中日志可以使用SSH日志或者Web日志等多种日志来源测试

Low

看到参数 page=message.txt 是可控的:

可以读取当前php文件内容:

也可以结合目录穿越,  包含上一级文件内容:

Medium

Medium级别中,  对../进行了过滤, 

但是没有过滤 ./ 以及 /

High

high级别同样用realpath()函数,  做了绝对的防护。

 

 

0x03、Host Header Attack (Cache Poisoning)

Low

点击here链接,  直接跳转到指定的url,

观察页面,  是利用<a href>跳转

那么跳转的URL是否是用户可控的呢?

抓包修改一下host看一下URL是否改变:

可以看到, 链接地址会随着host地址改变, 192.168.10.102是攻击者的服务器地址,  攻击者可以在自己的服务器上同样构造一个目录:

http://192.168.10.1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值