南郵平台 檔案包含漏洞題

2021-09-23 10:10:30 字數 2718 閱讀 1987

第一次做檔案包含類題目,總結一下

low等級:

可以看到,這裡的應對策略是對輸入值進行過濾

(1)最常用的應該是php://filter 協議

最原始的是php://filter/resource=d.txt(這裡發現如果不是php型別的檔案也能讀取,只是不是網頁形式)

確實是乙個獲取php原始碼的好方法。

(2)php://input 可以利用這個協議讓後台**包含我們想讓其顯示的php**,例如

(3)file:// 與php://filter類似,訪問本地檔案,但是只能傳入絕對路徑

更多偽協議可以訪問鏈結

**在測試了包含點存在包含漏洞以後,並不是都可以使用filter偽協議包含出原始碼的,因為allow_url_fopen和allow_url_include會影響到fopen和include等函式對於偽協議的支援。

allow_url_include影響php://input的使用,若不開啟則無法使用。

當allow_url_fopen開啟時,可以包含任意url。

例如只開啟allow_url_include時,只能包含遠端檔案和使用php://input

舉個例子

等我做了來更新

下面是其他的一些應對防禦機制的方法,暫時還沒用到,先留存

list item

繞過 waf 的方法

字典繞過

?f=php://filter/convert.base64-encode/resource=login.php(過濾了操作名read)

?f=php://filter/read=convert.base64-encode/resource=1.jpg/resource=./show.php(正則 /resource=*.jpg/i)

?f=data:text/plain,<?php phpinfo()?>

?file=data:text/plain;base64,pd9wahagcghwaw5mbygppz4=

這裡說一下第二條,這是2018 iscc中的一道題目的繞過方法。

這裡用正則匹配了resource=,我們就可以用重寫的方法來繞過正則。

list item

截斷包含

zip協議和phar協議(以後用到後再細查,現在只需知道這個可以用於繞過對php的限制)

在實戰過程中,若發現存在檔案上傳但是沒有辦法直接上傳php檔案,可以傳zip壓縮檔案,我們就利用這兩個協議,將php檔案打包成zip檔案來包含裡面的php指令碼。

phar://、zip://,都可以看到在phpinfo中有相應的描述。

例如指令碼檔案為1.php,打包成1.zip,然後再改名為1.jpg,上傳之後包含1.jpg中的php檔案即可。

經測試其他型別(例如txt)內有php**,也能被解釋為php語言顯示

南郵大學CTF web LFI本地檔案包含解題思路

0x00 php filter簡單理解 php filter 是php中獨有的乙個協議,可以作為乙個中間流來處理其他流,可以進行任意檔案的讀取 根據名字,filter,可以很容易想到這個協議可以用來過濾一些東西 使用不同的引數可以達到不同的目的和效果 名稱 描述 備註 resource 要過濾的資料...

南郵攻防訓練平台逆向第四題WxyVM

檔案elf檔案,執行輸入flag,用ida開啟逆向演算法 不是很複雜,可以看出flag長度需要24,最終會和已給出dword 601060進行比較,一致則成功,那麼現在只需要看上面的sub 4005b6 和函式了 跟進兩個位址進去看一下,發現有已經給出的處理所需資料,只是比較多,有15000個,想了...

CTF 南郵攻防平台(web2)

burpsuit抓包,將響應頭中的cookie項的login 0 改為login 1 即得flag 1 按照指示訪問index.txt 2 讀php原始碼,發現是urldecode多進行了一次,那麼傳參的時候多進行兩次url編碼 提交即可 burpsuit抓包,在響應頭中新增x forwarded ...