pikachu练习----文件包含

本文详细介绍了文件包含漏洞的概念,它是一种允许攻击者注入并执行恶意代码的注入型漏洞。通过PHP示例,解释了文件包含函数的工作原理及不同函数间的差异。本地文件包含漏洞通常用于获取系统敏感信息,而远程文件包含漏洞可能导致更严重的后果。文中还展示了如何利用Kali Linux进行远程文件包含漏洞的实战演练,包括创建测试文件、修改配置文件以及执行包含操作。
摘要由CSDN通过智能技术生成

一、文件包含简介

和SQL注入等攻击方式一样,文件包含漏洞也是一种“注入型漏洞”,其本质就是输入一段用户能够控制的脚本或者代码,并让服务器端执行

什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程就叫做包含。

文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。 比如 在PHP中,提供了:
include(),include_once()
require(),require_once()
这些文件包含函数,这些函数在代码设计中被经常使用到。

PHP常用的文件包含函数区别如下:

require(),找不到被包含的文件时会产生致命错误,并停止脚本运行
include(),找不到被包含的文件时只会产生警告脚本继续运行
include_once()与include()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
require_once()与require()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。

include_once()和require_once()只能一次性包含。

大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。 但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。 攻击着会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。

根据不同的配置环境,文件包含漏洞分为如下两种情况:
1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些 固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。
2.远程文件包含漏洞:能够通过url地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码,这种情况没啥好说的,准备挂彩。

 

二、练习记录

1、本地文件包含

2、远程文件包含

第一步   用kali来做远程主机

在kali中,创建pt.txt文件,开启apache2。

kali的IP为192.168.127.130;

在kali的/var/www/html目录下新建一个文件pt.txt,文件内容为<?php phpinfo();?>。

 查看一下kali是否启动apache2,未启动则启动,systemctl start apache2.service。

 以上都是就在kali中进行,接下来回自己的主机用浏览器测试一下,在kali新建的pt.txt文件是否能访问?

第二步  修改本地php.ini配置文件

修改配置文件,配置文件从读取phpinfo中得到路径如下:

 未修改配置文件时

 找到路径进行修改

修改配置文件后,重启一下服务器

 重启服务器后查看

 第三步  替换文件名

参考

pikachu靶机学习记录_LainWith的博客-CSDN博客_pikachu

【文件包含】文件包含漏洞知识总结_Monsterlz123的博客-CSDN博客

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
pikachu-master是一个带有漏洞的Web应用系统,可以用于进行web安全漏洞的练习和学习。你可以从GitHub上下载pikachu-master的源码,并将其上传到你的Web服务器的根目录下。然后,你可以通过访问服务器的IP地址加上pikachu-master的路径来访问这个靶场,例如http://192.168.132.131/pikachu-master/。在安装和配置pikachu-master时,你需要确保Apache和MySQL服务开启,并将pikachu-master文件夹放置在xampp安装目录的htdocs文件夹下,并将config.inc.php文件中的数据库连接信息修改为你实际的数据库连接信息。在安装和配置完成后,你可以通过127.0.0.1/pikachu-master路径来访问这个靶场。在访问之前,你可以通过phpmyadmin来修改数据库账号和密码。请注意,解压pikachu-master文件时会生成两个文件夹,所以路径是127.0.0.1/pikachu-master/pikachu-master。pikachu-master提供了综合类型的靶场练习环境,涵盖了多种漏洞,适合进一步加强你的知识和技能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux--linux部署pikachu靶场-kali-部署靶场(详细讲解)](https://blog.csdn.net/qq_56664029/article/details/129888616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [pikachu实验靶场环境部署](https://blog.csdn.net/qq_40731934/article/details/130676513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pikachu-master.zip](https://download.csdn.net/download/BROTHERYY/12550852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值