Day9
變量1
http://123.206.87.240:8004/index1.php

本題要點:正則表達式、可變變量、全局變量
對代碼的解釋:
<?php
error_reporting(0); // 關閉php錯誤顯示
include "flag1.php"; // 引入flag1.php文件代碼
highlight_file(__file__);
if(isset($_GET['args'])){ // 通過get方式傳遞 args變量才能執行if里面的代碼
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){ // 正則表達式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小寫字母和0到9以及下划線組成
die("args error!");
}
eval("var_dump($$args);");
}
?>
介紹一下可變變量
具體詳情見:
https://www.php.net/manual/zh/language.variables.variable.php
所以我們只需給變量傳一個全局數組變量就好了 所以我們構造 ?args=GLOBALS加到url后面
http://120.24.86.145:8004/index1.php?args=GLOBALS
注:此處全局變量的GLOBALS必須為大寫!!!!
便可得到FLAG
完成!
參考資料:
https://www.php.net/manual/zh/language.variables.variable.php
