首页 > 其他分享 >CTF新手入门(变量覆盖)

CTF新手入门(变量覆盖)

时间:2022-12-08 22:35:49浏览次数:32  
标签:Horse 变量 Dog Cat 新手入门 CTF array extract

变量覆盖 顾名思义:可以改一个值去覆盖这个变量,我们可以利用它做些什么 一般会考: Extract()  Parse_str()   什么是Extract()? 我帮你百度了一下: PHP extract() 函数从数组中把变量导入到当前的符号表中。
对于数组中的每个元素,键名用于变量名,键值用于变量值。
第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。
本函数返回成功设置的变量数目。
语法
extract(array,extract_rules,prefix) 上代码:   实例一:

<?php 
$a = 'Original'; 
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); 
extract($my_array); 
echo "\$a = $a; \$b = $b; \$c = $c"; 
?> 

输出:
$a = Cat;//这里的$a在数组被覆盖了呀!
$b = Dog;
$c = Horse

实例二:
<?php 
$a = 'Original'; 
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); 

extract($my_array, EXTR_PREFIX_SAME, 'dup'); 

echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a;"; 
?> 

输出:

$a = Original;
$b = Dog;
$c = Horse;
$dup_a = Cat;

 

什么是parse_str()? 

parse_str() 函数把查询字符串解析到变量中。

注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。

注释:php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

在数组中存储变量:

<?php 
parse_str("name=Bill&age=60",$myArray); 
print_r($myArray); 
?> 

不要走开,精彩马上就来!~

 

最后让我们来做道题吧!

深吸了一口气,你看看后面的MD5('xxxxxx')你去试试看是不是一个科学计数法?(反正我试了,确实是)

然后把$id 搞成 $a[]就行了吧

 

标签:Horse,变量,Dog,Cat,新手入门,CTF,array,extract
From: https://www.cnblogs.com/Alaso687/p/16967576.html

相关文章

  • 2022NCTF
    是真的菜开始复现把calc访问之后获得源码@app.route("/calc",methods=['GET'])defcalc():ip=request.remote_addrnum=request.values.get("num"......
  • QT全局变量声明及使用
    方法一:1.先在一个.h文件中声明一个类://Data.h#ifndefDATA_H#defineDATA_H classData{public: staticintflag......
  • Python判断一个变量值是否为数字数值类型
    fromnumbersimportNumberisinstance(x,Number)下面是源代码中关于Number的描述classNumber(metaclass=ABCMeta):"""Allnumbersinheritfromthisclass.......
  • python调用方法或者变量时出现未定义异常的原因,可能会是没有正确实例化
    当引用某个某块时例如Testpythonimporttestclasstest(object):def__init__():……self.mimi=testdeftest1():......
  • [ACTF新生赛2020]Oruga
    前言:争取寒假养成一天一篇的博客的习惯ELF64,无壳,丢ida继续分析找到了main函数,是一道输入型的题目可以看到main函数只有一个关键的函数sub_78A,同时也把我们输入的s字......
  • 举例: 在C语言 使用结构体和联合体,设计应用全局变量
    /*举例:在C语言使用结构体和联合体,设计应用全局变量*/#include"stm32f1xx_hal.h"typedefstruct/*定义GSP结构体*/{uint8_tgps_year_time;/*,单位年,......
  • buuoj-[HDCTF2019]Maze
    1.winexe32bitupx1使用脱壳工具这一段是红的,是ida没有为其创建函数堆栈报错的问题,其上一条命令就是常规的动态运算反调试,40102E+1=40102F,在2F处重新生成代码即......
  • AutoCad系统变量
    些常用的系统变量,当图纸出现一些问题时,你可以对出现问题的原因有些初步的判断,并可以通过修改变量设置快速解决。在CAD(无论是AUTOCAD还是浩辰CAD等其他CAD)的帮助中通常有......
  • Java类初始化、变量初始化
    Java类初始化、变量初始化摘自:https://blog.csdn.net/mocas_wang/article/details/109956014基础知识Java常量,final修饰,值被设定后不能再被修改静态变量里,st......
  • NCTF2022 Web Writeup
    1.calc题目地址:http://116.205.139.166:8001/右键/source源码@app.route("/calc",methods=['GET'])defcalc():ip=request.remote_addrnum=request.v......