![Web應(yīng)用安全技術(shù)原理與實踐 課件 第8章 Web服務(wù)端安全-8.4文件操作類漏洞原理與防御_第1頁](http://file4.renrendoc.com/view11/M00/17/28/wKhkGWWWDiuACEkxAAErGJ9WjGU975.jpg)
![Web應(yīng)用安全技術(shù)原理與實踐 課件 第8章 Web服務(wù)端安全-8.4文件操作類漏洞原理與防御_第2頁](http://file4.renrendoc.com/view11/M00/17/28/wKhkGWWWDiuACEkxAAErGJ9WjGU9752.jpg)
![Web應(yīng)用安全技術(shù)原理與實踐 課件 第8章 Web服務(wù)端安全-8.4文件操作類漏洞原理與防御_第3頁](http://file4.renrendoc.com/view11/M00/17/28/wKhkGWWWDiuACEkxAAErGJ9WjGU9753.jpg)
![Web應(yīng)用安全技術(shù)原理與實踐 課件 第8章 Web服務(wù)端安全-8.4文件操作類漏洞原理與防御_第4頁](http://file4.renrendoc.com/view11/M00/17/28/wKhkGWWWDiuACEkxAAErGJ9WjGU9754.jpg)
![Web應(yīng)用安全技術(shù)原理與實踐 課件 第8章 Web服務(wù)端安全-8.4文件操作類漏洞原理與防御_第5頁](http://file4.renrendoc.com/view11/M00/17/28/wKhkGWWWDiuACEkxAAErGJ9WjGU9755.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Web應(yīng)用安全第八章Web服務(wù)器端安全
--8.4文件操作類漏洞原理與防御2本講要求1理解文件上傳原理和漏洞形式2理解文件下載原理和漏洞形式3理解文件包含漏洞的基本原理3文件上傳原理一個實例http:///filex/t1.php文件上傳功能是Web應(yīng)用中非常常見的文件操作功能,如上傳附件、遞交文檔、上傳用戶照片等。4文件上傳原理PHP配置文件上傳功能,及參數(shù)配置項默認(rèn)值功能描述file_uploadsOn為On則支持上傳,為Off則不支持文件上傳upload_tmp_dirNULL指定上傳文件臨時存放目錄upload_max_filesize2M允許上傳的文件大小post_max_size8M允許的POST數(shù)據(jù)的最大值Web前端,需要HTML的文件上傳控件功能<formaction=""method="post"enctype="multipart/form-data"><inputtype="file"name=“upfile"id="fileid"/>5超級全局變量$_FILES$_FILES[‘upfile']['tmp_name']:上傳文件的臨時保存時的臨時名字。$_FILES['upfile']['name']:上傳文件名。$_FILES['upfile']['size']:上傳文件大小,以字節(jié)為單位計數(shù)。$_FILES['upfile']['type']:上傳文件類型。$_FILES[‘upfile’][‘error’]:表示上傳過程中的錯誤代碼,如UPLOAD_ERROR_NO_FILE(4,沒有上傳的文件)文件上傳原理<formaction=""method="post"enctype="multipart/form-data"><inputtype="file"name=“upfile"id="fileid"/>6if(empty($_FILES['upfile']))exit();$filename=$_FILES['upfile']['name'];$path="upload/{$filename}";$tmp=$_FILES['upfile']['tmp_name'];$ret=move_uploaded_file($tmp,$path);if($ret==false)exit("文件上傳失敗!<br>");print("文件上傳成功!");print("<ahref='{$path}'target='_blank'>驗證上傳文件</a>");相關(guān)函數(shù)及PHP代碼文件上傳原理7文件上傳漏洞原理基本文件上傳功能的主要問題上傳文件的類型沒有限制,如a.php上傳文件保存在公開可訪問位置一句話木馬(WebShell)<?php@eval($_POST['pass']);?>中國菜刀和蟻劍文件上傳漏洞利用8文件上傳漏洞防護(hù)與對抗防護(hù)方法1:限定上傳文件的類型不允許特定類型文件上傳,如不允許PHP文件上傳,只允許特定類型文件上傳,如圖片image/jpeg等防護(hù)方法1存在的問題:數(shù)據(jù)檢查的時機Web前端JavaScript代碼檢查上傳文件類型服務(wù)器端文件類型檢測服務(wù)器端文件后綴名檢查黑白名單策略9文件上傳漏洞防護(hù)與對抗防護(hù)方法1--JavaScript代碼檢查上傳文件類型10文件上傳漏洞防護(hù)與對抗防護(hù)方法1--JavaScript代碼檢查上傳文件類型<formonsubmit="returncheck()"method="post"enctype="multipart/form-data"><label>選擇要上傳的文件</label><inputid="fileid"type="file"name="upfile"><br><inputtype="submit"value="上傳文件"></form>functioncheck(){varfilename=document.getElementById('fileid').value;varext=filename.substring(filename.length-3,filename.length);if((ext=="jpg")||(ext=="bmp")||(ext=="png"))returntrue;alert("上傳文件類型不合格!");returnfalse;}11文件上傳漏洞防護(hù)與對抗防護(hù)方法1--JavaScript代碼檢查上傳文件類型對抗方法1:屏蔽JavaScript代碼對抗方法1:修改文件后綴名a.php->a.jpg->BP->a.php將a.jpg修改為a.php12文件上傳漏洞防護(hù)與對抗防護(hù)方法2–服務(wù)器端MIME類型檢查13文件上傳漏洞防護(hù)與對抗防護(hù)方法2–服務(wù)器端MIME類型檢查$type=$_FILES['upfile']['type'];
if(($type=="image/gif")||($type=="image/jpeg")||($type=="image/png")){$filename=$_FILES['upfile']['name'];$path="upload/{$filename}";$tmp=$_FILES['upfile']['tmp_name'];$ret=move_uploaded_file($tmp,$path);if($ret==false)exit("文件上傳失敗!<br>");print("文件上傳成功!");print("<ahref='{$path}'target='_blank'>驗證上傳文件</a>");}14文件上傳漏洞防護(hù)與對抗防護(hù)方法2–服務(wù)器端MIME類型檢查對抗方法:修改Content-Type值正常圖片文件上傳PHP文件偽造成圖片文件上傳15文件上傳漏洞防護(hù)與對抗防護(hù)方法3–文件后綴名黑名單$deny=array("php","php5");//限制php和php5$filename=$_FILES['upfile']['name'];$last=strchr($filename,".");//找到.匹配的字符串$ext=ltrim($last,".");//移除.字符得到后綴名if(!in_array($ext,$deny))16文件上傳漏洞防護(hù)與對抗防護(hù)方法3–文件后綴名黑名單對抗方法:使用其他可執(zhí)行的文件后綴名,如php4,phtml等AddHandlerfcgid-script.fcgi.php.php3.php4.php5.php6.phtmlPHPStudy環(huán)境Apache配置信息httpd.conf17文件上傳漏洞防護(hù)與對抗防護(hù)方法4–檢查文件內(nèi)容對上傳的文件內(nèi)容進(jìn)行檢查,看是否是聲稱的類型,如JPEG等對抗方法:文件名截斷如%00截斷,上傳a.php.jpg(.jpg之前有一個%00)對抗方法:其他方法?結(jié)合其他漏洞使用,如文件包含漏洞等。18文件上傳漏洞防護(hù)限定上傳文件的類型上傳文件存放非公開訪問位置隱藏路徑,如存放系統(tǒng)臨時目錄中重命名上傳文件,或隨機保存文件名……檢查內(nèi)容的合法性將上傳目錄設(shè)置為不可以執(zhí)行其他方法......19文件下載原理一個實例http:///filex/t5.php20文件下載原理Content-type:
指定類型為application/octet-streamContent-Disposition
指定內(nèi)容為attachment附件形式文件下載中的HTTP頭if(isset($_GET['file']))$file=$_GET['file'];elseexit();$file="c:/tmp/".$file;if(file_exists($file)){header("Content-type:application/octet-stream");$filename=basename($file);header("Content-Disposition:attachment;filename=".$filename);readfile($file);}else{print("文件不存在");}21文件下載漏洞原理$file=$_GET['file'];$file="c:/tmp/".$file;if(file_exists($file)){…..}漏洞原理分析輸入1:a1.txt,$file="c:/tmp/a1.txt",正常文件輸入2:../secret.txt,$file="c:/tmp/../secret.txt
"
實際$file="c:/secret.txt"輸入3:../other/other1.txt,$file="c:/tmp/../other/other1.txt"
實際$file="c:/other/other1.txt"核心代碼可以下載任意目錄下的任意文件!http:///filex/t5.php目錄穿越核心的原因:對下載文件的路徑信息沒有檢查22文件下載漏洞防護(hù)漏洞防護(hù)原理基本思想:對下載文件的路徑信息進(jìn)行檢查核心防護(hù)代碼$file=$_GET['file'];$file="c:/tmp/".$file;$dir=dirname($file);if($dir!==“c:/tmp”){//c:/tmp為下載目錄print("文件路徑異常!!請確認(rèn)輸入的文件名!<br>");exit();}基本方法:提取要下載的文件的目錄,并和下載目錄進(jìn)行對比,如果相同,則正常下載,否則終止下載。http:///filex/t6.php23文件包含漏洞原理漏洞原理分析http:///filex/t7.php<formaction='t7.php'method='get'><selectname='style'><optionselected='selected'value='t7_flower.php'>花的風(fēng)格</option><optionselected='selected'value='t7_sea.php'>海的風(fēng)格</option></select><inputtype='submit'value='確定'/></form><?phpif(!isset($_GET['style']))exit();$style=$_GET['style'];include($style);?><imgsrc='./img/sea.jpg'/>t7_sea.php<imgsrc='./img/flower.jpg'/>t7_flower.php24文件包含漏洞原理漏洞原理分析輸入1:t7.php?style=‘t7_flower.php’
include(‘t7_flower.php’);<imgsrc='./img/flower.jpg'/>輸入2:
t7.php?style=‘t7_sea.php’
include(‘t7_sea.php’);<imgsrc='./img/sea.jpg'/>輸入3:t7.php?style=‘../../../secret.txt’
include(‘../../../secret.txt’);include(‘c:/secret.txt’)輸入4:t7.php
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市軌道交通工程款支付合同范本-@-1
- 2025年中國深圳互聯(lián)網(wǎng)金融市場競爭格局及投資戰(zhàn)略規(guī)劃報告
- 2025年提琴琴橋行業(yè)深度研究分析報告
- 2025年度國家貨運代理貨運代理代理責(zé)任合同
- 2025年中國口腔科用設(shè)備制造行業(yè)市場行情動態(tài)分析及發(fā)展前景趨勢預(yù)測報告
- 2025年度電子商務(wù)平臺合同法務(wù)培訓(xùn)及咨詢服務(wù)合同
- 2025年度中央空調(diào)系統(tǒng)節(jié)能改造與優(yōu)化合同
- 2025年度Amazon店鋪代運營及庫存管理與優(yōu)化合同
- 2025年中國智能馬達(dá)控制器行業(yè)市場全景評估及投資前景展望報告
- 2025年武漢市充電樁市場分析報告
- 決策與博弈論課件
- 為什么偉大不能被計劃
- 人大代表履職知識講座
- 精神障礙患者的社交技巧訓(xùn)練
- 危險物品管理制度
- 門靜脈炎護(hù)理課件
- 重慶八中2024屆高三12月高考適應(yīng)性月考卷(四) 語文試卷(含答案)
- 基礎(chǔ)研究成果向臨床轉(zhuǎn)化的實踐與挑戰(zhàn)
- 建筑構(gòu)造(下冊)
- 電流互感器試驗報告
- 蔣中一動態(tài)最優(yōu)化基礎(chǔ)
評論
0/150
提交評論