-----已搬运-----PHP中的变量覆盖漏洞-------以后有什么新知识就往这里面补充了

本文详细介绍了PHP中的变量覆盖漏洞,包括extract()、PHP动态变量、parse_str()和import_request_variables()函数的覆盖机制。通过举例和分析,阐述了如何利用这些漏洞进行变量覆盖,并提醒读者注意在编程中防止此类安全问题。
摘要由CSDN通过智能技术生成

参考自:https://www.cnblogs.com/xhds/p/12587249.html#_label1

讲真,本来不想总结来着。以为自己对变量覆盖已经掌握了,,我靠结果第一个例题,就给我试了几分钟。这不对劲啊,
还是整理下来吧,加深加深印象

1.extract()变量覆盖

extract()函数,从数组中将变量导入当前的符号表。
该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在 当前符号表中创建对应得一个变量。

注意点:

  1. 你传入 ?name=adam 之后,在PHP中是 $name=adam 。这个看似easy。但是我刚刚就是犯了这个错误,没有弄细致。前面有 $ ,后面没有 $
  2. 上面一点也就解释了很多情况下我们传入session变量的时候是 _SESSION[name]=admin
  3. 一个新思路,可以使它判定的两个都为空,也就相等,就对了

例题来一个

<?php //本地复现的话,就在同文件夹下,建一个 flag.php 就好。
$flag='flag.php';
extract($_GET);  
if(isset($ceshi)){
   
    $content=trim(file_get_contents($flag));//trim是去掉两侧的空白字符
    if($ceshi==$content){
   
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值