php:// 协议
這里介紹一下:php:// 協議
條件:
allow_url_fopen:off/on
allow_url_include :僅php://input php://stdin php://memory php://temp 需要on
作用:
php:// 訪問各個輸入/輸出流(I/O streams),在CTF里經常使用的是php://filter和php://input,php://filter用于讀取源碼,php://input用于執行php代碼。
說明:
PHP 提供了一些雜項輸入/輸出(IO)流,允許訪問 PHP 的輸入輸出流、標準輸入輸出和錯誤描述符,
內存里、磁盤備份的臨時文件流以及可以操作其他讀取寫入文件資源的過濾器。
php://filter參數詳解
該協議的參數會在該協議路徑上進行傳遞,多個參數都可以在一個路徑上傳遞。具體參考如下:
可用的過濾器列表(4類)
此處列舉主要的過濾器類型,詳細內容請參考:
https://www.php.net/manual/zh/filters.php
示例:
php://filter/read=convert.base64-encode/resource=[文件名]讀取文件源碼(針對php文件需要base64編碼)
2.php://input + [POST DATA]執行php代碼
若有寫入權限,寫入一句話木馬
http://127.0.0.1/include.php?file=php://input
[POST DATA部分]
總結
- 上一篇: BugkuCTF-MISC题Pokerg
- 下一篇: React之setState使用