首页 > 其他分享 >变量覆盖漏洞

变量覆盖漏洞

时间:2024-08-31 16:36:30浏览次数:12  
标签:变量 gift 覆盖 content 漏洞 test extract 函数

原理
变量覆盖指的是可以用我们的传参值替换程序原有的变量值

常出现位置

经常导致变量覆盖漏洞场景有:$$使用不当,extract()函数使用不当,parse_str()函数使用不当,开启了全局变量注册等。

函数解析
经常引发变量覆盖漏洞的函数有:extract() parse_str()

extract()函数(作用:将数组中将变量导入到当前的符号表)

列题:

$test =******;

extract($_GET);

if(isset($gift)){ $content = trim($test);

if($gift == $content){echo 'flag is:'.$flag;} else{ echo error}}

分析源码我们可以知道,

1、文件将get方法传输进来的值通过extrace()函数处理。

2、通过两个if语句分别判断是否存在gift变量,和变量gift的值和变量content的值是否相等。变量content的值是通过读取变量test的值获取到的。如果两个变量相等输出flag。如果不相等,输出错误。

似乎逻辑上没啥问题,但是如果我们传参了test呢?

第一开始test在php中已经定义了,但是因为extrace()函数,我传参test时相当于重新给test赋值对不对?因为php执行语句是自上而下,那我传的参数完全可以覆盖掉之前所定义的

那么当我传参gift=a&test=a,相当于$gift=a;$test=a 那么这里是不是就直接输出flag了呢 (因为$content是由$test决定,$gift和$test都是我可以决定的)

标签:变量,gift,覆盖,content,漏洞,test,extract,函数
From: https://www.cnblogs.com/Crushz-2024/p/18390458

相关文章

  • 命令执行漏洞
    原理:用户输入的数据被当做系统命令进行执行//其实一句话木马的本质就是一个命令执行漏洞。用户输入的数据被当做系统命令进行执行。在PHP存在诸多函数可以做到命令执行。1、system('whoami');PHP会操纵计算机执行whoami的命令,且输出并返回结果注意:目标机器是linux执行的就......
  • XSS漏洞
    XSS(跨站脚本攻击,Cross-SiteScripting)是一种常见的网络攻击方式,攻击者通过向网页中注入恶意脚本,使得这些脚本在其他用户的浏览器中执行。XSS漏洞通常出现在网站对用户输入的数据缺乏适当的验证和过滤,导致恶意代码被注入并执行。XSS漏洞的基本原理1:什么是XSS:XSS攻击的核心是,攻击......
  • 文件上传漏洞
    文件上传漏洞的基本原理1:什么是文件上传漏洞:文件上传漏洞指的是,攻击者通过上传功能,将精心构造的恶意文件上传到服务器。由于服务器对上传的文件缺乏适当的验证和过滤,恶意文件得以在服务器上执行或被服务器误认为是合法文件,导致一系列安全问题。2:文件上传漏洞的攻击方式:文件上......
  • 洛谷 P11011 点的覆盖
    洛谷P11011点的覆盖题意给定一个四边平行于坐标轴的矩形\(A\),给定\(n\)个在矩形\(A\)内部(可能在边缘上)的点。求有多少个\(A\)的子矩形覆盖了所有\(n\)个点(允许在边缘上)。所有坐标都是整数。思路求出:\(X_1=\max_{i=1}^nx_i\),\(X_2=\min_{i=1}^nx_i\),\(Y_1=\max_......
  • 小白学安全:轻松搭建DVWA网站漏洞靶场
    DVWA是一个故意设计成充满漏洞的PHP应用程序,用于渗透测试目的。它包含了多种常见的Web应用程序安全漏洞,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等,让学习者可以在一个安全可控的环境中实践识别和利用这些漏洞的方法,从而更好地理解和防御实际中的网络安全威胁。DVWA提供不......
  • vue3 jsx响应式渲染变量
    1、JSX渲染变量vue在html代码区渲染变量使用双大括号{{}},jsx在渲染是单大括号{}另外,这里随便记一下一个简单有点绕的业务逻辑2、多个变量影响判断三元表达式根据上图,想要的效果分别是:订单状态是否支付,显示对应状态已支付的订单是否申请开发票,显示对应状态;且已申请的无法......
  • 3.从对变量的理解到数据类型的一种解释
    1变量1.1变量在使用过程中有三点注意事项1.变量必须是字母数字和下划线组成2.变量的命名开头不能是数字,数字会与python中的数字重复,导致错误3.变量不能使用内置的字,如print1.2变量的规范1.一般情况下需要进行分割,就是用_2.变量在使用的过程中也要注意,不要乱命名,会导致后续......
  • 【多变量输入超前多步预测】基于CNN-BiLSTM的光伏功率预测研究(Matlab代码实现)
                          ......
  • 【风电功率预测】【多变量输入单步预测】基于BiLSTM的风电功率预测研究(Matlab代码实现
              ......
  • 【没发表过创新点】【多变量输入超前多步预测】基于CPO-CNN-GRU-Attention的风电功率
                             ......