計算機網(wǎng)絡(luò)攻擊與防護第十二章實戰(zhàn)網(wǎng)絡(luò)攻防67課件_第1頁
計算機網(wǎng)絡(luò)攻擊與防護第十二章實戰(zhàn)網(wǎng)絡(luò)攻防67課件_第2頁
計算機網(wǎng)絡(luò)攻擊與防護第十二章實戰(zhàn)網(wǎng)絡(luò)攻防67課件_第3頁
計算機網(wǎng)絡(luò)攻擊與防護第十二章實戰(zhàn)網(wǎng)絡(luò)攻防67課件_第4頁
計算機網(wǎng)絡(luò)攻擊與防護第十二章實戰(zhàn)網(wǎng)絡(luò)攻防67課件_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第13節(jié)文件包含攻防實戰(zhàn)計算機網(wǎng)絡(luò)攻擊與防護第十二章實戰(zhàn)網(wǎng)絡(luò)攻防目錄CONTENT01什么是FI漏洞02漏洞利用案例本地文件包含漏洞03漏洞防御什么是FI漏洞FileInclusion(文件包含漏洞)概述文件包含,是一個功能。在各種開發(fā)語言中都提供了內(nèi)置的文件包含函數(shù),可以讓開發(fā)者在一個代碼文件中直接包含另外一個代碼文件的內(nèi)容。在PHP中,提供PHPinclude和require語句實現(xiàn)這個功能include(),include_once()require(),require_once()PHPinclude和require語句在PHP中,您可以在服務(wù)器執(zhí)行PHP文件之前在該文件中插入一個文件的內(nèi)容。include和require語句用于在執(zhí)行流中插入寫在其他文件中的有用的代碼。include和require除了處理錯誤的方式不同之外,在其他方面都是相同的:require生成一個致命錯誤(E_COMPILE_ERROR),在錯誤發(fā)生后腳本會停止執(zhí)行。include生成一個警告(E_WARNING),在錯誤發(fā)生后腳本會繼續(xù)執(zhí)行。語法格式:include'filename';require'filename';什么是FI漏洞案例:我們有一個已經(jīng)被定義變量的包含文件("var.php"):<?php$color=‘black';$plane=‘BY';?>這些變量可以用在調(diào)用文件中:<html>

<head><metacharset="utf-8">

<title>FI</title></head><body><h1>homepage!</h1><?phpinclude'var.php';echo"Ihavea$color$plane";//IhaveablackBY?></body></html>什么是FI漏洞FileInclusion(文件包含漏洞)一般分為種類型:

1.本地文件包含漏洞:僅能夠?qū)Ψ?wù)器本地的文件進行包含,由于服務(wù)器上的文件并不是攻擊者所能夠控制的.2.遠程文件包含漏洞:能夠通過URL地址對遠程的文件進行包含,這意味著攻擊者可以傳入任意的代碼。什么是FI漏洞步驟1:打開Pikachu靶場

選擇一個Firefox瀏覽器或者GoogleChrome瀏覽器,并使用它來訪問Pikachu靶場的URL:

/pikachu-master/vul/fileinclude/fi_local.php在靶場平臺網(wǎng)站的FileInclude欄目”本地文件包含”頁面,根據(jù)提示whichNBAplayerdoyoulike?選擇一個列表中選項點擊SubmitQuery按鈕,返回一個正常的查詢結(jié)果。漏洞利用案例之本地文件包含漏洞步驟

2:修改文件名(filename),讀取其他列表文件修改URL讀取列表中的其他選項(文件file.php)復(fù)制URLhttp:///pikachu-master/vul/fileinclude/fi_local.php?filename=file1.php&submit=Submit+Query修改filename=file1.php為filename=file3.php,點擊確定從Kobe跳轉(zhuǎn)到Kevin/pikachu-master/vul/fileinclude/fi_local.php?filename=file3.php&submit=Submit+Query漏洞利用案例之本地文件包含漏洞步驟

3:改變路徑(../),讀取其他列表文件我們還可以修改路徑,讀取其他目錄下的文件復(fù)制URLhttp:///pikachu-master/vul/fileinclude/fi_local.php?filename=file3.php&submit=Submit+Query修改filename=file3.php為filename=../../../index.php

,點擊確定跳轉(zhuǎn)到index.php/pikachu-master/vul/fileinclude/fi_local.php?filename=../../../index.php&submit=Submit+Query漏洞利用案例之本地文件包含漏洞步驟

4(Linux)改變路徑,讀取其他列表文件如果后臺是Linux操作系統(tǒng),可以查看/etc/passwd。復(fù)制URL/pikachu-master/vul/fileinclude/fi_local.php?filename=../../../index.php&submit=Submit+Query修改../../../index.php為??../../../../../../../../etc/passwd??。點擊確定查詢到/etc/passwd文件數(shù)據(jù)。/pikachu-master/vul/fileinclude/fi_local.php?filename=../../../../../../../../etc/passwd&submit=Submit+Query漏洞利用案例之本地文件包含漏洞通過查看fi_local.php的代碼片段。我們發(fā)現(xiàn)問題,變量傳遞被直接包含,沒做任何的安全限制FI的fi_local.php的代碼片段:if(isset($_GET['submit'])&&$_GET['filename']!=null){$filename=$_GET['filename'];include"include/$filename";//變量傳進來直接包含,沒做任何的安全限制//

安全的寫法,使用白名單,嚴(yán)格指定包含的文件名//if($filename=='file1.php'||$filename=='file2.php'||$filename=='file3.php'||$filename=='file4.php'||$filename=='file5.php'){//include"include/$filename";//}漏洞利用案例之本地文件包含漏洞1、在web應(yīng)用系統(tǒng)的功能設(shè)計上盡量不要讓前端用戶直接傳遞變量給包含函數(shù),2、安全的代碼,執(zhí)行嚴(yán)格的白名單策略,指定包含的文件名,有效的進行過濾。漏洞

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論