File Inclusion
文件包含漏洞:即file inclusion,意思是文件包含,是指当服务器开启allow_url_include选项时,就可以通过PHP的某些特性函数(include(),require()和include_once(),requir_once())利用URL去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了PHP配置中的allow_url_fopen选项,选项开启之后,服务器允许包含一个远程文件,服务器通过PHP特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到自己的目的。
1、文件包含即程序通过包含函数调用本地或远程文件,以此来实现拓展功能
2、被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞。
3、文件包含漏洞主要发生在有包含语句的环境中,例如PHP所具备include、require等函数。
参考:文件包含漏洞_白胡椒·的博客-CSDN博客_文件包含漏洞
本文为学习笔记,仅供学习!!!
Low
点击file1.php,看一下反应
存在文件包含漏洞的可能,验证一下是否存在:
存在漏洞,随便一提我在靶机放了一个flag.txt文件。试着利用这个漏洞去读取这个文件
得到flag
Medium
使用上次的方法没有反应。
可是是系统将..和/进行过滤了,所以尝试使用一下复写
成功,查看flag.txt
查看一下源码
果然过滤了../、..\、http://、https://字符。但是过滤了将其赋值为空,所以可以通过复写过滤。例如“....//‘,经过过滤得到“../”
High
试一下之前的方法,通过复写去实现
没有反应,试了很多方法但是都不行,查看一下源码
page=必须含有file,或者是include.php
构造一下page=file../file.php
成功,查看flag.txt
Impossible
惯例查看一下源码
过滤了所有不是系统指定可以访问的文件,直接宣告了不可能攻击。
来源地址:https://blog.csdn.net/qq_52819300/article/details/127455091