兩道題都比較簡單,所以放到一塊記下來吧,不是水博客,師傅們輕點打
BackupFile
題目提示“Try to find out source file!”,訪問備份文件/index.php.bak獲得index.php源碼(其實這里還試了一小會,本來以為是www.zip、bak.zip之類的,最后才想到.bak文件備份)
<?php include_once "flag.php"; if(isset($_GET['key'])) { $key = $_GET['key']; if(!is_numeric($key)) { exit("Just num!"); } $key = intval($key); $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3"; if($key == $str) { echo $flag; } } else { echo "Try to find out source file!"; }
要求GET方式傳遞一個Key值,並且Key必須為數字且等於123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3這一字符串
感覺是考PHP的弱類型特性,int和string是無法直接比較的,php會將string轉換成int然后再進行比較,轉換成int比較時只保留數字,第一個字符串之后的所有內容會被截掉
所以相當於key只要等於123就滿足條件了:
Exec
命令執行,沒啥說的,利用&執行多條命令,輸入127.0.0.1 & cat /flag獲得Flag: