《Web安全程序設(shè)計(jì)與實(shí)踐》 課件 項(xiàng)目14文件下載漏洞_第1頁
《Web安全程序設(shè)計(jì)與實(shí)踐》 課件 項(xiàng)目14文件下載漏洞_第2頁
《Web安全程序設(shè)計(jì)與實(shí)踐》 課件 項(xiàng)目14文件下載漏洞_第3頁
《Web安全程序設(shè)計(jì)與實(shí)踐》 課件 項(xiàng)目14文件下載漏洞_第4頁
《Web安全程序設(shè)計(jì)與實(shí)踐》 課件 項(xiàng)目14文件下載漏洞_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

文件下載漏洞主講人PPT時(shí)間20XX.XX項(xiàng)目描述01CONTENTS目錄知識(shí)儲(chǔ)備02任務(wù)14-1建立文件下載功能的網(wǎng)站03任務(wù)14-2文件下載漏洞測(cè)試04任務(wù)14-3文件下載漏洞防護(hù)05項(xiàng)目總結(jié)06拓展思考07項(xiàng)目描述01Part本項(xiàng)目包含三個(gè)任務(wù):建立文件下載功能網(wǎng)站,利用文件下載漏洞下載系統(tǒng)文件,通過設(shè)置open_basedir和正則表達(dá)式過濾實(shí)現(xiàn)防護(hù)。01任務(wù)概述通過本項(xiàng)目實(shí)訓(xùn),學(xué)員可以解釋和分析文件下載漏洞產(chǎn)生的原理和危害,掌握在PHP配置文件php.ini中配置open_basedir安全選項(xiàng)和正則表達(dá)式過濾實(shí)現(xiàn)下載漏洞的防護(hù)。項(xiàng)目目標(biāo)知識(shí)儲(chǔ)備02Part文件下載是網(wǎng)站常用功能,PHP實(shí)現(xiàn)方式有兩種:一是使用<a>標(biāo)簽,文件名固定,不存在漏洞;二是使用header()、fread()和echo()函數(shù),通過HTTP報(bào)頭發(fā)送文件。PHP實(shí)現(xiàn)文件下載的方式使用<a>標(biāo)簽方式不存在漏洞。文件下載漏洞發(fā)生在傳遞文件名參數(shù)作為下載文件時(shí),對(duì)文件名參數(shù)限制不嚴(yán)格,用戶可提交相對(duì)路徑文件作為參數(shù),導(dǎo)致下載系統(tǒng)其他文件,引起信息泄漏。文件下載漏洞原理利用文件下載漏洞可下載服務(wù)器任意文件,如網(wǎng)站代碼、配置文件、系統(tǒng)文件等。數(shù)據(jù)庫配置文件泄漏可導(dǎo)致數(shù)據(jù)庫被獲取,操作系統(tǒng)賬號(hào)文件泄漏可導(dǎo)致服務(wù)器被控制。文件下載漏洞的危害建立文件下載功能的網(wǎng)站03Part在Apache2.4的網(wǎng)站根目錄C:\Apache24\htdocs\下新建一個(gè)文件夾fdown作為本項(xiàng)目的網(wǎng)站目錄。本網(wǎng)站在項(xiàng)目13的基礎(chǔ)上進(jìn)行,將項(xiàng)目13的upload目錄下所有網(wǎng)頁文件復(fù)制到C:\Apache24\htdocs\fdown目錄下,取消Firefox瀏覽器的代理設(shè)置。由于項(xiàng)目13將上傳目錄設(shè)置在了網(wǎng)站目錄之外,但是為了驗(yàn)證下載漏洞,需要把上傳目錄設(shè)置在網(wǎng)站目錄fdown下。并在fdown目錄下再新建一個(gè)uploads文件夾作為上傳和下載文件的目錄。準(zhǔn)備工作修改上傳和保存目錄將保存目錄設(shè)置為網(wǎng)站目錄下的uploads目錄。打開upload.html,將第26行的value="face"修改為value="uploads"。然后,打開do_upload.php,將第18行修改為$target_path='./'.$_POST['path'];修改files.php設(shè)置的目錄建立Get方式文件下載頁面filedown.php修改file_traverse()文件遍歷函數(shù)任務(wù)實(shí)現(xiàn)打開Firefox瀏覽器,在地址欄輸入并打開地址http://localhost/fdown/login.html,輸入用戶名admin和密碼admin123登錄系統(tǒng),然后使用與13-2-3節(jié)相同的方式上傳幾個(gè)圖片文件。上傳完成后后退到welcome.php歡迎頁面,點(diǎn)擊“文件瀏覽”超鏈接查看服務(wù)器已經(jīng)上傳的文件列表,發(fā)現(xiàn)文件均以超鏈接的方式存在。將鼠標(biāo)移動(dòng)到文件可以看到其超鏈接地址為http://localhost/fdown/filedown.php,并將文件名作為參數(shù)filename的值,如圖14-1所示點(diǎn)擊文件超鏈接,彈出文件下載對(duì)話框,可以選擇“保存文件”實(shí)現(xiàn)文件下載保存。保存完成后打開文件可以正常顯示圖片,說明文件下載功能可以正常使用文件下載功能測(cè)試文件下載漏洞測(cè)試04Part打開Firefox瀏覽器,并在地址欄輸入以下內(nèi)容:http://localhost/fdown/filedown.php?filename=../con_database.php打開該地址,發(fā)現(xiàn)彈出下載文件的對(duì)話框,如圖14-2所示。選擇“保存文件”,并點(diǎn)擊“確定”按鈕。保存完成后打開文件,可以查看網(wǎng)站的數(shù)據(jù)庫連接文件con_database.php的內(nèi)容。這樣,系統(tǒng)的數(shù)據(jù)庫地址和賬號(hào)密碼信息就泄漏了。利用一些客戶端工具連接到數(shù)據(jù)庫,則可以下載整個(gè)系統(tǒng)的數(shù)據(jù)庫。通過猜測(cè)等方式,掌握了系統(tǒng)路徑信息,還可以下載網(wǎng)站或者系統(tǒng)的配置文件和數(shù)據(jù)庫文件等下載Apache配置文件http://localhost/fdown/filedown.php?filename=../../../conf/httpd.conf測(cè)試實(shí)施01以上文件下載漏洞的實(shí)施過程,重現(xiàn)了在一個(gè)具有文件下載漏洞的網(wǎng)站下載任意文件的案例。系統(tǒng)文件特別是系統(tǒng)的敏感信息的泄漏,將使得整個(gè)服務(wù)器系統(tǒng)都在攻擊者的控制中。如果服務(wù)器還有多個(gè)其它網(wǎng)站,會(huì)形成一個(gè)網(wǎng)站出現(xiàn)問題,所有網(wǎng)站都受到威脅的情況。出現(xiàn)任意文件下載漏洞的原因是沒有限制文件名參數(shù)的值,攻擊者通過使用兩個(gè)點(diǎn)號(hào)作為路徑參數(shù)的這種方式,可以跳轉(zhuǎn)訪問任意的目錄。因此,文件下載漏洞的防護(hù)措施,需要從限制用戶的訪問范圍入手。測(cè)試分析文件下載漏洞防護(hù)05PartOpen_basedir是一個(gè)安全選項(xiàng),作用是限制PHP可以訪問的目錄,默認(rèn)關(guān)閉,也就是可以訪問所有的目錄。如果Apache服務(wù)器同時(shí)運(yùn)行多個(gè)網(wǎng)站,推薦在Apache的虛擬主機(jī)配置文件httpd-vhosts.conf里設(shè)置訪問限制,這樣可以避免一個(gè)站點(diǎn)出現(xiàn)問題而引起其它站點(diǎn)的安全。使用NotePad++打開C:\php-7.1.16-Win32-VC14-x86目錄中的php.ini文件。找到open_basedir=,去掉前面的分號(hào),在等號(hào)后面添加".;C:/Windows/TEMP/",如圖14-4所示。保存后重啟Apache服務(wù)以管理員身份運(yùn)行命令提示符進(jìn)入C:\Apache24\bin,輸入并運(yùn)行httpd-kstart啟動(dòng)服務(wù)重復(fù)圖14-3的下載文件路徑http://localhost/fdown/filedown.php?filename=../../../conf/httpd.conf發(fā)現(xiàn)報(bào)錯(cuò)。這說明文件下載漏洞在open_basedir的作用下已經(jīng)無法下載Web目錄之外的文件。重復(fù)圖14-2的下載文件路徑http://localhost/fdown/filedown.php?filename=../con_database.php發(fā)現(xiàn)仍然可以下載,說明open_basedir無法阻止下載Web目錄之內(nèi)的文件,因此,還需要采取其它的防護(hù)措施。設(shè)置open_basedir01正則表達(dá)式有黑名單和白名單兩種方式。如果文件名和擴(kuò)展名有限制的,比如文件名只含有數(shù)字,文件擴(kuò)展名只能是.zip格式,推薦使用白名單的方式過濾。但是如果文件名和擴(kuò)展名比較自由,只能使用黑名單的方式禁止目錄跳轉(zhuǎn)02由于文件下載漏洞的利用,需要跳轉(zhuǎn)離開設(shè)置的目錄,因此設(shè)置的正則表達(dá)式黑名單,只需要過濾父目錄..即可。另外還需要過濾掉父目錄..的各種編碼繞過方式,而不管哪種編碼方式,都含有%,因此正則表達(dá)式可以表示為:"/(\.\.)|%/"。設(shè)置正則表達(dá)式過濾03打開filedown.php,在第二行的后面添加如下判斷語句04由于在頁面上輸出了用戶的輸入,因此使用htmlspecialchars()函數(shù)轉(zhuǎn)義特殊符號(hào)避免非持久型XSS跨站攻擊。設(shè)置正則表達(dá)式過濾if(preg_match("/(\.\.)|%/",$file_name)) exit("非法文件名:".htmlspecialchars($file_name));05重復(fù)圖14-2的下載文件路徑,發(fā)現(xiàn)不能下載,如圖14-6所示。說明正則表達(dá)式實(shí)現(xiàn)了文件下載參數(shù)的過濾。06重復(fù)第14-1-3節(jié)的文件瀏覽和下載,發(fā)現(xiàn)仍然可以正常下載。說明所設(shè)置的下載漏洞防護(hù)措施不影響正常的文件下載功能使用。設(shè)置正則表達(dá)式過濾項(xiàng)目總結(jié)06Part從文件下載漏洞測(cè)試發(fā)現(xiàn),文件下載漏洞發(fā)生在使用文件名參數(shù)下載文件的條件下。利用文件下載漏洞,可以獲得系統(tǒng)信息,嚴(yán)重情況下甚至可以獲得整個(gè)系統(tǒng)的控制權(quán)。從文件下載漏洞的防護(hù)措施及測(cè)試發(fā)現(xiàn),使用PH

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論