PHP-extract变量覆盖

题目信息

题目名称 题目难度
PHP-extract变量覆盖 1

题目考点

复制代码
变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。
经常导致变量覆盖漏洞场景有:$$,extract()函数,parse_str()函数等.

Flag格式:

复制代码
SangFor{f2HVuTe47VPOzKlT}

环境部署

docker-compose.yml文件或者docker tar原始文件。

复制代码
http://分配ip:2008

题目writeup

1、实验主页

2、源码分析

复制代码
<?php
include('flag.php');
if ($_SERVER["REQUEST_METHOD"] == "POST")
    $SangFor = "666";
    $SXF = "2333";
    extract($_POST);
    if ($SangFor === $SXF) {
        $flag;
    }
    else{
        "咋回事呢?";
    }
highlight_file(__FILE__);
?>

extract该函数使用数组键名作为变量名,使用数组键值作为变量值。但是当变量中有同名的元素时,该函数默认将原有的值给覆盖掉。这就造成了变量覆盖漏洞。

由此可以通过POST方法覆盖变量$SangFor,将其变量值覆盖为2333,来构造if条件判断为真,即可输出flag。

复制代码
POST:
SangFor=2333
相关推荐
元岳数字人小元12 分钟前
易部署易运维!AI数字人一体机实现场景长效运营
运维·人工智能·人机交互·交互·源代码管理
凌虚(失业了求个工作)19 分钟前
Kubernetes 编年史:从 Borg 到云原生操作系统
云原生·容器·kubernetes
深圳市益普科技有限公司25 分钟前
半导体mes厂家有哪些?从自动检验与AOI集成看mes厂家的检验自动化水平
运维·自动化
冰封之寂44 分钟前
Kubernetes Pod 管理完全指南:从基础命令到高级调度
云原生·容器·kubernetes
2603_954708311 小时前
微能网协调控制箱的核心价值:让多种能源“协同作战”
大数据·运维·网络·人工智能·架构·能源
码上有光1 小时前
make和makefile(自动化构建)
android·运维·自动化
bksczm1 小时前
Linux之应用层层协议认知(TCP协议编程模块化demo) —— 兼论守护进程机制
linux·运维·服务器
jiecy1 小时前
同在专网内,为什么有的通服务器有的不通?
运维·服务器
ZzzZZzzzZZZzzzz…1 小时前
K8s实战: 用OpenELB破解Service外部访问难题
云原生·容器·kubernetes
'pi%'1 小时前
“咒语”质量如何量化?大模型Prompt效果评估与自动化验证方案
运维·自动化·prompt