文件包含的基本操作

01、文件包含漏洞基础

漏洞成因:

  文件包含加载的参数没有经过过滤或严格定义,可以被用户控制,包含其他可以文件,导致执行非预期代码

php中文件包含函数:

01、include:

  include:函数出现错误时,会抛出一个告警,程序就像运行。

  include_once:函数出现错误是会抛出告警,且仅包含一次。

02、require:

  require:函数出现错误时,会直接报错并退出程序。

  require_once:出错时直接退出;且仅包含一次。在脚本执行期间同一个文件可能被多次引用,确保只包含一次以避免函数重定义,变量重新赋值等问题。

02、文件包含漏洞类型及利用

01、本地文件包含:

被包含的文件在服务器本地

利用方式:

包含本地敏感文件、包含上传文件

注:包含文件的内容只要符合php语法都能被当成拍黄片代码进行解析,与文件后缀名无关

系统敏感文件目录:

windows系统:

Linux系统

#查看系统版本
C:\boot.ini

#账户信息

/etc/passwd

#IIS配置文件

C:\windows\system32\inetsrv\MetaBase.xml

#账户密码文件

/etc/shadow

#MySQL配置

C:\ProgramFiles\mysql\my.ini

#Apache2默认配置文件

/usr/local/app/apache2/conf/httpd.comf

#MySQL root密码

C:\ProgramFiles\mysql\data\mysql\user.MYD

#虚拟网站配置

/usr/local/app/apache2/conf/extra/httpd-vhost.conf

#PHP配置信息

C:\windows\php.ini

#PHP配置文件

/usr/local/app/php5/lib/php.ini

 

#Apache配置文件

/usr/local/app/confhttpd.conf

 

#MySQL配置文件

/etc/my.conf

 

02、远程文件包含:

被包含的文件在远程服务端

利用方式:

包含攻击者指定远程url文件

条件:php.ini 中设置 allow_url_ofpen = On (默认)、allow_url_include = On (php5.2 后默认为 off)

03、文件包含漏洞的进阶利用

本地文件包含之配合日志文件还可以配合session 文件进行包含(详见CVE-2018-12613phpMyAdmin 文件包含漏洞)

01、配合PHP协议:

file:// 协议(通常用来读取本地文件,需要文件绝对路径)

file:///C:/windows/win.ini

条件:allow_url_fopen=off、allow_url_include=off

php://filter协议

主要用来查看源码。直接包含php文件时会被解析,不能看到源码,所以用filter来读取敏感文件,但是需要base64加密传输

例:?id=php://filter/convert.base64-encode/resource=flag.php

php://filter协议在双off的情况下也可以正常使用

 php://input协议

主要用来接收 post 数据,将 post 请求中的数据作为 php 代码执行

条件:allow_url_fopen=off、allow_url_include=On

 zip://、zlib://、bzip://协议

zip://、bzip2://、zlib:// 协议在双 off 的情况下也可以正常使用,;都属于压缩流,可以访问压缩文件中的子文件。

格式: zip://[压缩文件绝对路径]#[压缩文件内的文件名]

 phar://协议

类似于 zip 协议,但是可以使用相对路径。

格式:phar://[压缩文件绝对/相对路径]/[压缩文件内的子文件名]

data:// 协议

将代码冲共享到一个未命名的文本文件中,然后包含这个文本文件。

条件:必须在双 On 的情况下才能正常使用

协议总结:

04、如何防御文件包含漏洞

 

posted @   雪夜红花漫白城  阅读(326)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示