




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目七
安全的文件包含Web安全與防護(hù)本任務(wù)要點(diǎn)學(xué)習(xí)目標(biāo)了解什么是文件包含構(gòu)造簡(jiǎn)單的文件包含分析文件包含的原理學(xué)習(xí)文件包含的原理和構(gòu)造寫出簡(jiǎn)單的文件包含任務(wù)一
構(gòu)造簡(jiǎn)單的文件包含目錄CONTENTS01/什么是文件包含02/簡(jiǎn)單的文件包含03/文件包含的流程什么是文件包含01什么是文件包含?文件包含是指在一個(gè)程序文件中通過某種方式引入另一個(gè)文件的內(nèi)容。在PHP中,文件包含是一種重要的特性,可以將多個(gè)腳本文件組合起來,以實(shí)現(xiàn)更大型、更復(fù)雜的應(yīng)用程序。文件包含可以用于許多目的,比如:(1)代碼重用:可以將一些通用的代碼(如配置信息、函數(shù)庫等)封裝到一個(gè)文件中,并在其他腳本文件中進(jìn)行包含,以達(dá)到代碼重用的效果,減少代碼冗余。(2)模塊化編程:可以將一個(gè)應(yīng)用程序分解成多個(gè)模塊,每個(gè)模塊獨(dú)立編寫,然后通過文件包含將這些模塊組合成一個(gè)完整的程序。(3)代碼調(diào)試:可以將程序中的一些代碼段放到一個(gè)單獨(dú)的文件中,以便進(jìn)行調(diào)試或測(cè)試。在PHP中,常見的文件包含方式有兩種:include和require。它們的作用是相同的,都可以將一個(gè)文件包含到另一個(gè)文件中。區(qū)別在于當(dāng)被包含的文件不存在或出錯(cuò)時(shí),include會(huì)產(chǎn)生一個(gè)警告,并繼續(xù)執(zhí)行程序;而require會(huì)產(chǎn)生一個(gè)致命錯(cuò)誤,停止程序的執(zhí)行。什么是文件包含01簡(jiǎn)單的文件包含02在PHP中,可以使用include或require語句來實(shí)現(xiàn)文件包含。下面是一個(gè)簡(jiǎn)單的示例,演示如何使用include或require函數(shù)在一個(gè)PHP腳本中引用其他PHP文件的內(nèi)容:假設(shè)我們有一個(gè)名為"study_upload17.php"的文件,包含了一些HTML代碼和PHP代碼demonstration/study_upload17.php簡(jiǎn)單的文件包含02現(xiàn)在,我們可以在另一個(gè)PHP文件中使用以下代碼來引用該文件:在上面的代碼中,我們使用include語句將"study_upload17.php"文件包含到我們的腳本中。這將在當(dāng)前文件中插入"study_upload17.php"文件中的HTML代碼。之后我們可以在當(dāng)前文件中添加其他HTML代碼和PHP代碼,最后輸出HTML頁面的結(jié)束標(biāo)記。文件包含的流程03文件包含是指使用PHP的include或require函數(shù)來引入其他的文件,從而實(shí)現(xiàn)代碼的復(fù)用和模塊化。PHP解析器遇到include或require函數(shù)時(shí),會(huì)根據(jù)參數(shù)指定的文件路徑,打開并讀取文件內(nèi)容,將文件內(nèi)容作為PHP代碼進(jìn)行解析和執(zhí)行,如果文件內(nèi)容不是PHP代碼,會(huì)原樣輸出,直到遇到下一個(gè)include或require函數(shù)或者結(jié)束符。假設(shè)有一個(gè)網(wǎng)站的URL是這樣的:/index.php?page=home,其中page參數(shù)是用來包含不同的頁面文件的,例如home.php,about.php等。那么文件包含的具體流程是:(1)PHP解析器接收到用戶的請(qǐng)求,打開index.php文件(示例代碼路徑為:/demonstration/index.php)。文件包含的流程03(2)PHP解析器遇到include函數(shù),根據(jù)page參數(shù)指定的文件路徑,打開并讀取home.php文件內(nèi)容。(2)PHP解析器將home.php文件內(nèi)容作為PHP代碼進(jìn)行解析和執(zhí)行,如果文件內(nèi)容不是PHP代碼,會(huì)原樣輸出,那么當(dāng)用戶訪問/index.php?page=home時(shí),輸出結(jié)果如下:這樣就實(shí)現(xiàn)了文件包含的功能,可以讓index.php文件根據(jù)用戶的選擇,動(dòng)態(tài)地顯示不同的頁面內(nèi)容。課堂實(shí)踐一、任務(wù)名稱:文件包含功能實(shí)現(xiàn)二、任務(wù)內(nèi)容:同PHP代碼進(jìn)行實(shí)現(xiàn)文件上傳功能。三、工具需求:PHP開發(fā)環(huán)境四、任務(wù)要求:完成實(shí)踐練習(xí)后,由老師檢查完成情況。課堂思考一、文件包含功能的常見用途是什么?它在Web應(yīng)用中如何被實(shí)現(xiàn)?二、在文件包含的過程中,哪些因素需要特別注意,以確保系統(tǒng)的穩(wěn)健性和安全性?三、文件包含在Web應(yīng)用架構(gòu)設(shè)計(jì)中的作用是什么?有哪些替代方式可以實(shí)現(xiàn)相似的功能?課后拓展:文件包含漏洞的分析請(qǐng)同學(xué)們通過互聯(lián)網(wǎng)查找一個(gè)具體的案例,分析文件包含功能在實(shí)際應(yīng)用中的典型場(chǎng)景及其影響。描述該功能是如何被實(shí)現(xiàn)和應(yīng)用的,并探討它在項(xiàng)目中的作用和優(yōu)勢(shì)。THANK
YOUToBeContinued項(xiàng)目七
安全的文件包含Web安全與防護(hù)本任務(wù)要點(diǎn)學(xué)習(xí)目標(biāo)學(xué)習(xí)文件包含漏洞的基本原理分析文件包含漏洞的產(chǎn)生原因理解文件包含漏洞的原理及其表現(xiàn)形式。掌握文件包含漏洞的常見攻擊方式。提高識(shí)別和防范文件包含漏洞的能力。任務(wù)二
文件包含漏洞原理目錄CONTENTS01/什么是文件包含漏洞02/文件包含漏洞類型什么是文件包含漏洞01什么是文件包含漏洞文件包含漏洞(FileInclusionVulnerability)是指在Web應(yīng)用程序中,當(dāng)應(yīng)用程序?qū)⒂脩籼峁┑妮斎胱鳛槲募蚵窂矫囊徊糠謺r(shí),攻擊者可以構(gòu)造惡意輸入,通過利用文件包含漏洞,執(zhí)行未經(jīng)授權(quán)的代碼。如果攻擊者成功利用此漏洞,可以讀取、寫入、刪除、修改、執(zhí)行任意文件,包括敏感系統(tǒng)文件、配置文件等,進(jìn)而實(shí)現(xiàn)對(duì)目標(biāo)系統(tǒng)的完全控制??梢园盐募┒聪胂蟪梢粋€(gè)烤箱,你可以用它來烤出美味的蛋糕,面包,或者披薩。如果有人把烤箱里的東西換成了一只老鼠,或者一塊肥皂,那么你就會(huì)遇到麻煩,你可能會(huì)嚇一跳,或者吐一口泡沫。這就是文件包含漏洞的原理,當(dāng)服務(wù)器使用一個(gè)用戶可以控制的變量來包含一個(gè)文件,并執(zhí)行它時(shí),就可能導(dǎo)致任意代碼執(zhí)行或敏感信息泄露。什么是文件包含漏洞01攻擊者思路上傳含有惡意代碼的文件獲取文件所在的物理地址成功執(zhí)行惡意代碼攻擊者受害者Web服務(wù)器/test/?page=file://D:/phpstudy/WWW/webshell.txt文件包含漏洞的類型02例如應(yīng)用程序中的代碼包含以下語句:
文件包含漏洞的是網(wǎng)站中使用了不安全的文件包含函數(shù),攻擊者可以通過構(gòu)造惡意的文件路徑或參數(shù),將攻擊者所控制的文件加載到應(yīng)用程序中,從而實(shí)現(xiàn)攻擊的目的。
具體來說,當(dāng)應(yīng)用程序中的文件包含函數(shù)(如include()、require()等)調(diào)用時(shí),會(huì)將指定的文件內(nèi)容加載到當(dāng)前執(zhí)行的腳本中,進(jìn)行代碼復(fù)用、模塊化等功能。如果在使用文件包含函數(shù)時(shí)未能正確過濾用戶輸入的文件名或路徑,攻擊者可以通過構(gòu)造惡意的文件名或路徑,將攻擊者所控制的文件加載到應(yīng)用程序中。攻擊者可以通過向URL中傳遞如下參數(shù),實(shí)現(xiàn)LFI攻擊:這樣,攻擊者就可以通過文件包含漏洞,將服務(wù)器上的敏感文件(如/etc/passwd文件)加載到應(yīng)用程序中,從而實(shí)現(xiàn)攻擊目的。同時(shí)文件包含漏洞可以分為兩種類型:本地文件包含(LocalFileInclusion,LFI)和遠(yuǎn)程文件包含(RemoteFileInclusion,RFI)。文件包含漏洞的類型021)本地文件包含(LFI):本地文件包含漏洞指的是攻擊者通過構(gòu)造惡意的文件路徑,將服務(wù)器上的敏感文件(如配置文件、密碼文件等)加載到應(yīng)用程序中,從而實(shí)現(xiàn)攻擊的一種漏洞。攻擊者通常通過向應(yīng)用程序傳遞如“../”、“../../../”等特殊字符來構(gòu)造惡意的文件路徑。2)遠(yuǎn)程文件包含(RFI):遠(yuǎn)程文件包含漏洞指的是攻擊者通過構(gòu)造惡意的URL,將攻擊者所控制的遠(yuǎn)程文件加載到應(yīng)用程序中,從而實(shí)現(xiàn)攻擊的一種漏洞。攻擊者通常將惡意腳本上傳到自己的服務(wù)器上,并通過構(gòu)造惡意的URL,將惡意腳本加載到受害者的應(yīng)用程序中。/test.php?mod=phpinfo.php讀入同一目錄下的文件并執(zhí)行test.phpwwwphpinfo.php$modname=$_GET[‘mod’];include($modname);課堂實(shí)踐一、任務(wù)名稱:文件包含漏洞的實(shí)現(xiàn)二、任務(wù)內(nèi)容:同PHP代碼進(jìn)行實(shí)現(xiàn)文件包含漏洞。三、工具需求:PHP開發(fā)環(huán)境四、任務(wù)要求:完成實(shí)踐練習(xí)后,由老師檢查完成情況。課堂思考一、文件包含漏洞的成因是什么?二、文件包含漏洞有哪些不同的類型,并且每種類型有什么特點(diǎn)?三、如何檢測(cè)Web應(yīng)用程序中的文件包含漏洞?課后拓展:文件包含漏洞的構(gòu)造請(qǐng)各位同學(xué)們自己構(gòu)造一個(gè)文件包含漏洞,然后在下節(jié)課對(duì)自己的漏洞進(jìn)行講解和說明。THANK
YOUToBeContinued項(xiàng)目七
安全的文件包含Web安全與防護(hù)本任務(wù)要點(diǎn)學(xué)習(xí)目標(biāo)在博客系統(tǒng)中找到文件包含漏洞驗(yàn)證博客系統(tǒng)中的文件包含漏洞學(xué)會(huì)驗(yàn)證文件上傳漏洞。掌握文件上傳漏洞。任務(wù)三
文件包含漏洞檢測(cè)與驗(yàn)證目錄CONTENTS01/文件包含漏洞驗(yàn)證流程02/文件包含漏洞檢測(cè)與驗(yàn)證文件包含漏洞驗(yàn)證流程01文件包含漏洞驗(yàn)證流程01利用之前搭建的個(gè)人博客,在此之前我們已經(jīng)成功的通過文件上傳漏洞將帶有phpinfo信息的圖片成功上傳到了博客中。文件包含漏洞檢測(cè)與驗(yàn)證02對(duì)于文件包含漏洞的檢測(cè)驗(yàn)證,我們需要使用kali自帶的錄爆破Dirbuster工具,該工具是一種用于探測(cè)web服務(wù)器上的目錄和隱藏文件的工具。它支持多種掃描方式,如網(wǎng)頁爬蟲、基于字典的暴力破解和純暴力破解,使用Java語言編寫,提供命令行和圖形界面兩種模式。什么是DirBuster?DirBuster是一個(gè)多線程的基于Java的應(yīng)用程序設(shè)計(jì)蠻力Web/應(yīng)用服務(wù)器上的目錄和文件名。DirBuster是Owasp(OpenWebApplicationSecurityProject)開發(fā)的一款專門用于探測(cè)網(wǎng)站目錄和文件(包括隱藏文件)的工具。由于使用Java編寫,電腦中要裝有JDK才能運(yùn)行。文件包含漏洞檢測(cè)與驗(yàn)證021)首先通過終端輸入dirbuster啟動(dòng)程序。程序第一行輸入需要掃描的網(wǎng)站地址,目標(biāo)ip地址或域名,默認(rèn)80端口,特殊端口需要加到后面。文件包含漏洞檢測(cè)與驗(yàn)證022)接下來選擇對(duì)網(wǎng)站的請(qǐng)求方式用get方式或者HEAD加GET自動(dòng)切換,同時(shí)也可以根據(jù)電腦的性能考慮選擇GoFaster使用200線程完成更快的完成請(qǐng)求,一般用于執(zhí)行暴力破解。文件包含漏洞檢測(cè)與驗(yàn)證023)選擇字典的類型,kali內(nèi)置有大量的字典目錄,位于在/usr/share/wordlists/路徑。我們也可以使用生成的字典來進(jìn)行暴力破解文件包含漏洞檢測(cè)與驗(yàn)證024)掃描方法和類型的選擇,可以選擇開始路徑以及目錄、遞歸、文件、延伸等拓展選項(xiàng)。文件包含漏洞檢測(cè)與驗(yàn)證025)做好上述準(zhǔn)備后,就可以等待掃描完成。我們可以在此過程中查看當(dāng)前網(wǎng)站是否有一些開發(fā)人員無意間留下的配置文件信息。文件包含漏洞檢測(cè)與驗(yàn)證02在網(wǎng)站的目錄結(jié)構(gòu)中我們可以看到include.php,include語句用于在執(zhí)行流中插入寫在其他文件中的有用的代碼。訪問include.php我們可以看到能夠利用的文件包含漏洞。文件包含漏洞檢測(cè)與驗(yàn)證02過向URL中傳遞如下參數(shù),加載之前制作的圖片木馬實(shí)現(xiàn)攻擊:當(dāng)看到phpinfo信息的時(shí)候,就代表著我們已經(jīng)成功的執(zhí)行了圖片木馬,獲取了網(wǎng)站的控制權(quán)限了。:2333/book/admin/include.php?file=../assets/img/a36d38fe771a00959ded40985182827d.jpg課堂實(shí)踐一、任務(wù)名稱:針對(duì)博客系統(tǒng)的文件包含漏洞進(jìn)行驗(yàn)證二、任務(wù)內(nèi)容:部署整個(gè)博客系統(tǒng),再針對(duì)博客系統(tǒng)的文件包含漏洞進(jìn)行入侵驗(yàn)證。三、工具需求:PHP開發(fā)環(huán)境四、任務(wù)要求:完成實(shí)踐練習(xí)后,由老師檢查完成情況。課堂思考一、如何去快速驗(yàn)證一個(gè)文件包含漏洞?二、還有那些可以探測(cè)文件包含漏洞的工具?三、本地文件包含漏洞和遠(yuǎn)程文件包含漏洞的區(qū)別?課后拓展:文件包含漏洞的案例請(qǐng)各位同學(xué)通過網(wǎng)絡(luò)搜索一個(gè)真實(shí)的文件包含漏洞案例,分析該案例中文件包含漏洞是如何被利用的,攻擊者通過哪些手段繞過了原有的安全措施,以及該漏洞對(duì)受影響系統(tǒng)造成了哪些具體影響。THANK
YOUToBeContinued項(xiàng)目七
安全的文件包含Web安全與防護(hù)本任務(wù)要點(diǎn)學(xué)習(xí)目標(biāo)修復(fù)在博客系統(tǒng)中找到文件包含漏洞防范文件包含漏洞學(xué)會(huì)針對(duì)文件包含漏洞的修復(fù)防范文件包含漏洞任務(wù)四
文件包含漏洞修復(fù)與防范目錄CONTENTS01/文件包含漏洞修復(fù)與防范文件包含漏洞修復(fù)與防范01當(dāng)我們掌握如何利用漏洞后,我們也需要學(xué)會(huì)如何去修補(bǔ)漏洞防止被黑客利用和入侵,我們查看源代碼可以發(fā)現(xiàn),雖然對(duì)文件做了各種信息的檢查和限制,但是并沒有對(duì)文件的內(nèi)容進(jìn)行檢測(cè),我們可以將圖片進(jìn)行二次的壓縮和解析,同時(shí)也可以對(duì)文件的數(shù)據(jù)進(jìn)行檢測(cè)探查是否有代碼的關(guān)鍵字。針對(duì)博客的漏洞我們可以采用:(1)PHP配置php.ini關(guān)閉遠(yuǎn)程文件包含功能(allow.urljnclude=Off),這是為了防止攻擊者利用PHP的文件包含函數(shù)來加載遠(yuǎn)程服務(wù)器上的惡意文件。(2)嚴(yán)格檢查變量是否已經(jīng)初始化,避免使用未定義或空值的變量作為文件包含函數(shù)的參數(shù),例如include($file),如果$file沒有被賦值或者為空,那么就可能被攻擊者控制。文件包含漏洞修復(fù)與防范01(3)建議假定所有輸入都是可疑的,嘗試對(duì)所有輸入提交可能可能包含的文件地址,包括服務(wù)器本地文件及遠(yuǎn)程文件,進(jìn)行嚴(yán)格的檢查,參數(shù)中不允許出現(xiàn).../之類的目錄跳轉(zhuǎn)符。文件包含漏洞修復(fù)與防范01(4)假定所有輸入都是可疑的,嘗試對(duì)所有輸入提交可能可能包含的文件地址,包括服務(wù)器本地文件及遠(yuǎn)程文件,進(jìn)行嚴(yán)格的檢查,參數(shù)中不允許出現(xiàn).../之類的目錄跳轉(zhuǎn)符:這是為了防止攻擊者利用目錄跳轉(zhuǎn)符來訪問服務(wù)器上敏感的目錄和文件,例如include(.../.../etc/passwd)。文件包含漏洞修復(fù)與防范01(5)嚴(yán)格檢查include類的文件包含函數(shù)中的參數(shù)是否外界可控:這是為了防止攻擊者通過修改URL或者表單等方式來傳遞惡意的參數(shù)給文件包含函數(shù),例如include($_GET[‘file
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Module7 Unit1 He spent about twenty-one hours in space(教學(xué)設(shè)計(jì))-2023-2024學(xué)年外研版(三起)英語六年級(jí)下冊(cè)
- 華北理工大學(xué)冀唐學(xué)院《研究型建筑設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西國(guó)際商務(wù)職業(yè)學(xué)院《計(jì)算機(jī)組成原理理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱鐵道職業(yè)技術(shù)學(xué)院《班級(jí)活動(dòng)的組織》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧民族師范高等專科學(xué)?!稒C(jī)電系統(tǒng)設(shè)計(jì)與控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州東華職業(yè)學(xué)院《海洋生物技術(shù)綜合實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌大學(xué)科學(xué)技術(shù)學(xué)院《新編大學(xué)生安全教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北科技師范學(xué)院《西方財(cái)務(wù)會(huì)計(jì)雙語》2023-2024學(xué)年第二學(xué)期期末試卷
- 共青科技職業(yè)學(xué)院《學(xué)前兒童保育學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西理工大學(xué)《數(shù)字信號(hào)處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 社區(qū)意識(shí)形態(tài)工作2025年度工作計(jì)劃
- 2025年山東省濟(jì)南廣播電視臺(tái)招聘30人歷年管理單位筆試遴選500模擬題附帶答案詳解
- DG-TJ 08-2048-2024 民用建筑電氣防火設(shè)計(jì)標(biāo)準(zhǔn)
- 2025年中智集團(tuán)招聘筆試參考題庫含答案解析
- 黑龍江省哈爾濱市南崗區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試英語試題(含答案)
- 殘疾人就業(yè)培訓(xùn)
- Photoshop+2024學(xué)習(xí)手冊(cè):第1課認(rèn)識(shí)與操作基礎(chǔ)
- 《不同血流限制訓(xùn)練方案對(duì)膝關(guān)節(jié)損傷運(yùn)動(dòng)員下肢功能的影響》
- 藥品經(jīng)營(yíng)企業(yè)(批發(fā)和零售)面臨的風(fēng)險(xiǎn)點(diǎn)和應(yīng)對(duì)措施
- 北師大版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)期末模擬測(cè)試卷(含答案)
- 無人機(jī)組裝與調(diào)試 課件 項(xiàng)目1任務(wù)1 多旋翼無人機(jī)飛行平臺(tái)組裝調(diào)試
評(píng)論
0/150
提交評(píng)論