5.攻防世界 fileinclude

进入题目页面如下

提示flag在flag.php

ctrl+u,查看源码

给出了一段PHP代码,进行代码审计

php 复制代码
<?php
// 检查是否开启了错误显示功能
if( !ini_get('display_errors') ) {
    // 如果没有开启,则将错误显示功能设置为开启状态
    ini_set('display_errors', 'On');
}

// 设置错误报告级别为显示所有类型的错误
error_reporting(E_ALL);

// 从客户端的 Cookie 中获取名为 'language' 的值,并赋值给变量 $lan
$lan = $_COOKIE['language'];

// 检查 $lan 是否为空
if(!$lan) {
    // 如果为空,设置一个名为 'language' 的 Cookie,值为 'english'
    @setcookie("language","english");
    // 包含名为 'english.php' 的文件
    @include("english.php");
} else {
    // 如果不为空,将 $lan 的值加上 '.php' 后缀后,包含对应的文件
    @include($lan.".php");
}

// 读取当前文件 'index.php' 的内容,并将其赋值给变量 $x
$x = file_get_contents('index.php');

// 输出变量 $x 的内容,即显示当前文件的源代码
echo $x;
文件包含漏洞

代码中使用 include 函数包含文件,而 $lan 变量的值直接取自用户的 Cookie。可以通过修改 Cookie 中的 language 值,来包含任意文件,从而导致文件包含漏洞。

代码没有对 $lan 变量的值进行任何验证和过滤,可以构造特殊的文件名来绕过正常的文件包含逻辑,执行恶意代码或获取敏感信息。

修改 Cookie 中的 language 值为 flag。当请求该页面时,服务器会尝试包含 flag.php 文件,从而将 flag 的内容输出到页面上

Cookie: language=php://filter/read=convert.base64-encode/resource=flag

利用 PHP 伪协议来绕过常规的文件包含限制并获取敏感文件

使用 php://filter 伪协议对文件内容进行 Base64 编码后输出,避免因文件内容格式问题(如二进制文件)导致显示异常,同时绕过部分简单的过滤机制。

read=convert.base64-encode

php://filter 伪协议的一个过滤器,指定了读取文件内容时要进行的操作。convert.base64-encode 表示将文件内容进行 Base64 编码,文件内容就会以 Base64 字符串的形式输出,方便在网页上显示和后续解码。

resourcephp://filter 伪协议中用于指定要操作的文件资源的参数

用burp suite抓包,修改cookie

得到base64编码的flag可以利用下面这个在线工具解码

Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具

最终得到flag

cyberpeace{94027b50fe68bcb6ff13855e5cb60024}

相关推荐
源远流长jerry16 分钟前
dpdk之kni处理dns案例
linux·网络·网络协议·ubuntu·ip
玉梅小洋18 分钟前
iperf 网络性能测试完整指南(含多服务端测试)
网络·测试工具·性能测试·iperf
Danileaf_Guo22 分钟前
我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定
网络
犀思云1 小时前
构建全球化多云网格:FusionWAN NaaS 在高可用基础设施中的工程实践
运维·网络·人工智能·系统架构·机器人
Black蜡笔小新1 小时前
国密GB35114平台EasyGBS筑牢安防安全防线,GB28181/GB35114无缝接入
网络·安全·音视频·gb35114
2401_865854881 小时前
安全为先|咕噜分发平台:一站式App漏洞分析与安全分发解决方案
安全
科普体验馆2 小时前
VR安全体验馆深度测评:优质服务商与推荐厂家剖析
安全·vr
多多*2 小时前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#
小李独爱秋2 小时前
计算机网络经典问题透视:无线个人区域网WPAN的主要特点是什么?
计算机网络·网络安全·信息与通信·信号处理·wpan
王家视频教程图书馆2 小时前
关于我们的服务端 app端安全架构 深刻思考
安全·安全架构