之前做過,回顧
12,攻防世界simple_php-CSDN博客
進入靶場
<?php
// 顯示當前 PHP 文件的源代碼,方便調試或查看代碼結構
// __FILE__ 是 PHP 的一個魔術常量,代表當前文件的完整路徑和文件名
show_source(__FILE__);// 包含名為 "config.php" 的外部文件
// 通常 "config.php" 文件會包含一些配置信息,如數據庫連接信息、常量定義等
include("config.php");// 通過 $_GET 超全局數組獲取用戶通過 GET 請求傳遞的參數 'a' 的值
// 使用 @ 符號來抑制可能出現的錯誤信息,當 'a' 參數不存在時,不會拋出警告
$a = @$_GET['a'];// 通過 $_GET 超全局數組獲取用戶通過 GET 請求傳遞的參數 'b' 的值
// 同樣使用 @ 符號來抑制可能出現的錯誤信息,當 'b' 參數不存在時,不會拋出警告
$b = @$_GET['b'];// 第一個條件判斷
// $a == 0 會進行弱類型比較,判斷 $a 的值是否等于 0
// $a 作為布爾值判斷,若 $a 為真(非空、非 0、非 false 等)則滿足條件
// 只有當兩個條件同時滿足時,才會執行下面的代碼塊
if ($a == 0 and $a) {// 如果滿足上述條件,輸出在 "config.php" 文件中定義的 $flag1 變量的值echo $flag1;
}// 第二個條件判斷
// is_numeric() 函數用于檢查變量 $b 是否為數字或者可轉換為數字的字符串
// 如果 $b 是數字或可轉換為數字的字符串,就執行 exit() 函數終止腳本的執行
if (is_numeric($b)) {exit();
}// 第三個條件判斷
// 當 $b 不是數字或不可轉換為數字的字符串時,會進行此比較
// 這里會將 $b 嘗試轉換為數字進行比較,如果 $b 轉換后的數字大于 1234
// 則執行下面的代碼塊
if ($b > 1234) {// 如果滿足條件,輸出在 "config.php" 文件中定義的 $flag2 變量的值echo $flag2;
}
?>
a=a或a==0都可
b由大于1234的數字和字母組成即可
Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}?
?