全域性變數中的flag bugku web9

2022-07-06 18:27:12 字數 497 閱讀 5843

開啟題目後是一段php**:

flag in the variable !<?php  

error_reporting(0);

include "flag1.php";

highlight_file(__file__);

if(isset($_get['args']))

eval("var_dump($$args);");

}?>

知識補充:

int preg_match(string $pattern , string $subject):

這是php的正規表示式匹配函式,返回成功匹配的次數。還可以附加引數將匹配到的文字存入陣列中,詳細的話見手冊。

**分析:

提示flag隱藏在變數中,可以用gloabals找出flag。雖然**的思路可以利用截斷來輸出flag,但是我們並不知道flag的變數名,無從下手。

paload:?args=globals

static全域性變數 全域性變數

1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...

PHP中全域性變數和超全域性變數

自定義全域性變數的作用域為當前的指令碼檔案的任意位置 函式或者方法啊之類的 但是要想用它們必須先執行一下 global variable語句 variable為要使用的全域性變數 或者是使用 global 變數名字 來呼叫。超全域性變數作用於也是為當前的指令碼檔案的任意位置,在使用的時候無需先執行 ...

全域性變數和靜態全域性變數

全域性變數和區域性變數是從變數的作用域的角度劃分。靜態變數和動態變數是從變數的記憶體分配的角度劃分。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同,區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原...