bugku—Web—CTF--變量1


這種題目純屬考察PHP的基礎知識

超級全局變量GLOBALS的用法

 

flag In the variable ! <?php  

 

網頁代碼顯示:
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
    $args = $_GET['args'];
    if(!preg_match("/^\w+$/",$args)){
        die("args error!");
    }
    eval("var_dump($$args);");
}
?>

 

提示說flag在變量里面,經分析只要運行 eval("var_dump($$args);");,falg很有可能就會出來

$$args====>我們可以猜想$args很有可能是一個數組,應該想到的就是超全局變量$GLOBALS

他是用存儲全局變量的,全局變量的值在這個超級全局變量里面是一個鍵值,先當於hashmap的鍵值對

全局變量可以通過變量名在$GLOBALS找到相對應的值。

 

eval()這個函數的作用是字符串里面的php代碼按正常的php代碼被執行

通過構造一個GET參數,直接傳GET一個全局變量即可

http://123.206.87.240:8004/index1.php?args=GLOBALS

拿到FLAG..


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM