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

【CTF Web】Pikachu 本地文件包含 Writeup(文件包含漏洞+GET请求)

File Inclusion(文件包含漏洞)概述

文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。 比如 在PHP中,提供了:
include(),include_once()
require(),require_once()
这些文件包含函数,这些函数在代码设计中被经常使用到。
大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。 但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。 攻击着会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。 根据不同的配置环境,文件包含漏洞分为如下两种情况:
1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些 固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。
2.远程文件包含漏洞:能够通过url地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码,这种情况没啥好说的,准备挂彩。
因此,在web应用系统的功能设计上尽量不要让前端用户直接传变量给包含函数,如果非要这么做,也一定要做严格的白名单策略进行过滤。
你可以通过“File Inclusion”对应的测试栏目,来进一步的了解该漏洞。

提示

先了解一下include()函数的用法吧


解法

引入了 file1.php,可能存在文件包含漏洞。

http://172.17.149.214:8765/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4#

访问:

http://172.17.149.214:8765/vul/fileinclude/include/file1.php

审查元素。

<div class="page-content">

            <div id="fi_main">
                <p class="fi_title">which NBA player do you like?</p>
                <form method="get">
                    <select name="filename">
                        <option value="">--------------</option>
                        <option value="file1.php">Kobe bryant</option>
                        <option value="file2.php">Allen Iverson</option>
                        <option value="file3.php">Kevin Durant</option>
                        <option value="file4.php">Tracy McGrady</option>
                        <option value="file5.php">Ray Allen</option>
                    </select>
                    <input class="sub" type="submit" name="submit">
                </form>
                <img class="player" src="include/kobe.png">
<p class="nabname">
Kobe Bryant is one of the NBA's best scorer, breakthrough, shooting, free throws, three-pointers he chameleonic, almost no offensive blind area, single-game 81 points of personal record is powerful to prove it.In addition to crazy to points, Bryant's organizational ability is also very outstanding, often served as the first sponsors on offense.Bryant is the best form of defence in the league, one of personal defense is very oppressive.
He is a great NAB player!
</p>            </div>


        </div>

可以看到图片路径是 http://172.17.149.214:8765/vul/fileinclude/include。

用 dirsearch 扫描。

dirsearch -u http://172.17.149.214:8765/vul/fileinclude/include

没有找到文件,可能被拦截了。

访问:

http://172.17.149.214:8765/vul/fileinclude/fi_local.php?filename=file6.php&submit=%E6%8F%90%E4%BA%A4#

找到密码。


声明

本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规

博主坚决反对任何形式的非法黑客行为,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规不得用于任何非法目的。对于因使用这些技术而导致的任何后果,博主不承担任何责任


http://www.kler.cn/news/343205.html

相关文章:

  • 高级java每日一道面试题-2024年10月10日-中间件篇[设计篇]-结合项目场景问如何设计一个消息中间件?
  • 1688商品详情关键词数据-API
  • 低代码赋能汽车制造产业链场景系列
  • 【ubuntu】ubuntu20.04安装显卡驱动
  • Spring Boot 之 Lombok 使用详解
  • SAP 费用化采购订单简介
  • kubeadm 搭建k8s 1.28.2版本集群
  • Solon 3.0 新特性:SqlUtils
  • LeetCode-871 最低加油次数
  • 注册安全分析报告:惠农网
  • 【一文理解】conda install pip install 区别
  • sql 语句相关的函数
  • 深入解析 Go 语言中的结构体:从基础用法到高级技巧的全方位指南
  • requests 中data=xxx、json=xxx、params=xxx 分别什么时候用
  • 做ppt用什么软件好?5个办公必备的ppt工具推荐!
  • VS Code最新版本Retome远程ssh不兼容旧服务器问题
  • 在Windows中使用谷歌浏览器观看和录制游戏直播
  • 【C#生态园】打造现代化跨平台应用:深度解析.NET桌面应用工具
  • c# gobal using
  • rdagent框架代码拆解:自动化因子挖掘