(实战)PHP文件包含漏洞

**摘要:**本篇主要带你实战了解PHP文件包含漏洞

文件包含漏洞(LFI/RFI)

  • 当代码里出现 include($_GET['file'])、require() 等,且参数可控时,就可以包含任意文件。

  • 如果包含的是 PHP 文件,默认会当作 PHP 代码执行,而不是显示源码。

目录

一、题目详情

二、解题思路及原理

1、有一个tips,好像可以点击,那我们点击看看情况。

2、提取源码

3、Base64解码


一、题目详情

题目来源:CTF²中的ACTF2020 新生赛Include

靶场环境:启动靶机,进入:http://ea133ffe4fdd6ee5d0a178a8.http-ctf2.dasctf.com:80


二、解题思路及原理

1、有一个tips,好像可以点击,那我们点击看看情况。

发现我们的url变了,后面变成了执行了一个flag.php源码!

这就是文件包含漏洞: 包含的是 PHP 文件,默认会当作 PHP 代码执行,而不是显示源码。

所以下面我们的解题思路,就是如何把和这个源码提取到,因为这个文件(php)本身就是flag,所以看到了这个文件(php)里面的内容(源码)也就能看到flag了!

2、提取源码

php://filter 伪协议:用于PHP 源码读取

  • PHP 内置的流包装器,用于对文件流做过滤/转换。

  • 语法:

    php://filter/读或写=过滤器/resource=目标文件

  • 常用过滤器:

    • convert.base64-encode:把内容做 Base64 编码

    • convert.base64-decode:解码

    • string.rot13:ROT13 变换(ROT13是一种编码方式)

    • zlib.deflate / zlib.inflate:压缩/解压

这里我们采用Base64编码去提取PHP源码

  • 直接包含 flag.php 会执行 PHP 代码,页面只显示执行结果,看不到源码。

  • 用 convert.base64-encode 后,PHP 引擎读到的是 Base64 字符串,不会被当作 PHP 代码执行,于是源码被原样输出。

  • 你拿到 Base64 字符串后,解码就能看到 flag.php 的源代码,里面往往就有 flag。

我们构造如下url参数,然后去拼接到url后面。

复制代码
?file=php://filter/read=convert.base64-encode/resource=flag.php

结果如下:

页面上这串字符就是这个文件源码,但是被我们的进行了Base64编码了,所以下面对这串字符进行Base64解码就行。

3、Base64解码

这里采用在线的Base64解码器:Base64 在线编码解码 | Base64 加密解密 - Base64.us

结果如下:

好了,这里看到了Flag!

**PS:**其实这个还算是一个比较简单的PHP文件包含,这里没有涉及到过滤。如果过滤了相应的东西,需要采用相应的方式绕过。如:可以尝试大小写、双写、URL 编码等绕过方式!

相关推荐
谢亮_vipxieliang1 小时前
PHP 8 新特性:构造器属性提升与实战
开发语言·后端·php
pencek2 小时前
MazeSec-Loooower
网络安全
Highcharts.js2 小时前
动态数据可视化架构:Highcharts + PHP + MySQL 从数据库到数据渲染
数据库·mysql·php·开发文档·实时数据·highcharts·图表开发
专业程序开发源2 小时前
springboot校园志愿者管理系统28562-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
lisw0516 小时前
数字断点如何影响供应链——并危及全球经济?
网络安全·网络攻击模型·前沿领域
sbjdhjd20 小时前
云安全 | Docker 容器逃逸复盘(二):2375 未授权接口如何突破容器管理边界
网络安全·docker·云原生·数据挖掘·开源·云计算·云安全
HackTwoHub20 小时前
Clown SRC skill第二代2.x最新版企业安全研究 Skill|证据优先的 SRC 与白盒审计工作流正式更新
网络·安全·web安全·网络安全·系统安全·密码学·安全架构
白帽攻防录21 小时前
SRC 挖洞:Certighost AD CS 域控制器伪造深度复盘,CVE-2026-54121 一个普通域用户怎么拿走整个企业域
网络·安全·web安全·网络安全·域安全
Days205021 小时前
全网去水印1.0.0源码发布
php