ctfshow Web入門 40 - 命令執行(10)
阿新 • • 發佈:2020-10-27
題目過濾如下:
先檢視當前目錄下面有啥檔案
參考了羽大佬的WP:https://blog.csdn.net/miuzzx/article/details/108415301
首先有幾個PHP的函式:
print_r()函式用於列印變數,以更容易理解的形式展示
localeconv():是一個程式語言函式,返回包含本地數字及貨幣資訊格式的陣列。其中陣列中的第一個為點號(.)
pos():返回陣列中的當前元素的值。
這裡也可以換成current(),作用和pos類似
array_reverse():陣列逆序
scandir():獲取目錄下的檔案
next(): 函式將內部指標指向陣列中的下一個元素,並輸出。
通過 pos(localeconv())得到點號
因為scandir('.')表示得到當前目錄下的檔案
PS:如果我沒有記錯,scnadir('/')也能掃描當前目錄下面的檔案,但是這道題貌似無法使用chr(47)和chr(48)(.和/的ASCII碼)進行過濾的繞過
首先,掃描目錄下檔案,這裡使用var_dump是不行的
接著就是先逆方向,再檢視第二個元素。注意先後關係
?c=show_source(next(array_reverse(scandir(current(localeconv())))));