Dvwa漏洞测试之文件包含笔记
来源:互联网 发布:查端口8080是否被占用 编辑:程序博客网 时间:2024/05/16 00:48
漏洞产生原因的本质是:用给定的可控的输入,输入了不可控的参数或代码,产生了不可控的结果。文件包含漏洞我在前面已经进行过讲述,今天就漏洞测试和漏洞利用讨论下,漏洞测试环境是Dvwa。
漏洞产生原因:
被包含的页面可以被攻击者控制,也就是说攻击者可以随心所欲地去包含某个页面。
由于本次测试远程包含测试出现问题,暂不测试,本阶段暂时只测试本地包含。
漏洞测试:
Low
首先查看源码:
<?php // The page we wish to display $file = $_GET[ 'page' ]; ?>
经过分析我们发现,服务器并未对传入的参数进行过滤,这里page参数的传入是不可控的,下面我们构造url。
发现虽然并成功,但却发现了服务器的绝对路径,继续构造url。
几种测试url均测试成功。可见没有的防御能力。
通过测试我们读取服务器任何文件,只要位置明确,而事实上,在如今的信息时代,系统的机密文件的位置已经不是秘密。
Medium
查看源码:
<?php // The page we wish to display $file = $_GET[ 'page' ]; // Input validation $file = str_replace( array( "http://", "https://" ), "", $file ); $file = str_replace( array( "../", "..\"" ), "", $file ); ?>
由分析可知,服务器对远程包含进行了过滤,但是通过决定路径还是可以访问文件,测试代码和low级别是一样的。而远程包含的绕过可以通过双写绕过,比如hthttp://tp://,而../的过滤可以通过对其进行url编码绕过,如图:
这个漏洞的测试成功也更加证明了str_replace的不安全性。
High
查看源码:
<?php // The page we wish to display $file = $_GET[ 'page' ]; // Input validation if( !fnmatch( "file*", $file ) && $file != "include.php" ) { // This isn't the page we want! echo "ERROR: File not found!"; exit; } ?>
高级别的代码使用了fnmatch函数来查看page参数,要求page参数必须是file。服务器才去包含相应的文件。这个看似无懈可击,但却忘了一个php内置协议file协议,我们可以通过file协议访问文件。测试代码如下:
不要惊奇上面的url编码,其实是我懒得改,今天有点累,用绝对路径什么的都没影响,前面的payload都可以,关键是使用file协议。
Impossible
查看源码:
<?php // The page we wish to display $file = $_GET[ 'page' ]; // Only allow include.php or file{1..3}.php if( $file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php" ) { // This isn't the page we want! echo "ERROR: File not found!"; exit; } ?>
可以发现,这一次服务器直接采用了白名单的方式进行了限制,page的参数进行了严格的控制,这个就无解了。彻底杜绝了文件包含漏洞。
阅读全文
0 0
- Dvwa漏洞测试之文件包含笔记
- Dvwa之文件上传漏洞
- dvwa文件包含漏洞和远程文件利用漏洞
- DVWA漏洞测试之SQL注入
- 通过DVWA学习文件包含漏洞(File Include)
- 远程文件包含漏洞测试
- Dvwa渗透测试之命令注入笔记
- 渗透测试漏洞平台DVWA-参考答案
- dvwa medium级别前五漏洞测试
- 渗透测试之本地文件包含漏洞
- DVWA笔记之三:CSRF
- Dvwa之Csrf攻击笔记
- 包含文件漏洞详解
- 包含文件漏洞详解
- 文件包含漏洞
- 文件包含漏洞
- 文件包含漏洞详解
- 文件包含漏洞
- matplotlib.colors(ListedColormap)
- Linux常用命令及软件更新
- JavaScript
- 枚举关于Flags特性的使用
- 小白之路—杨辉三角
- Dvwa漏洞测试之文件包含笔记
- cookie和sessiong
- 【BZOJ2761】【hash】[JLOI2011]不重复数字 题解
- 11.1模拟赛总结
- 欢迎使用CSDN-markdown编辑器
- BZOJ 5044 [Lydsy 九月月赛] 构造 解题报告
- Hive 安装配置
- 文章标题
- nginx+vsftpd搭建图片服务器