容健昌
關(guān)鍵詞:DVWA;滲透測(cè)試;Web安全;靶機(jī)
DVWA全稱(chēng)為Damn Vulnerable Web Application,其含義是指存在非常嚴(yán)重漏洞的一套Web應(yīng)用。它是基于PHP/MySQL開(kāi)發(fā)的存在嚴(yán)重漏洞的Web應(yīng)用,給專(zhuān)業(yè)的安全人員提供一個(gè)合法的滲透測(cè)試運(yùn)行環(huán)境,以測(cè)試他們的工具和技能。同時(shí),通過(guò)對(duì)它的測(cè)試,能夠幫助Web開(kāi)發(fā)人員理解Web應(yīng)用保護(hù)的原理及過(guò)程。最后,通過(guò)該平臺(tái)的搭建測(cè)試,還可以在課堂中為師生的講解和Web應(yīng)用安全性教學(xué)提供便利。本文是基于DVWA平臺(tái)實(shí)現(xiàn)滲透測(cè)試教學(xué)的探索與實(shí)踐,其意義在于以實(shí)現(xiàn)滲透測(cè)試教學(xué)環(huán)境的角度,將搭建平臺(tái)的步驟標(biāo)準(zhǔn)化,從而滿(mǎn)足學(xué)生學(xué)習(xí)滲透測(cè)試的條件要求。
1DVWA的滲透測(cè)試環(huán)境配置簡(jiǎn)介
1.1Phpstudy簡(jiǎn)介
Phpstudy是一個(gè)Web應(yīng)用,其集成了Apache、PHP語(yǔ)言開(kāi)發(fā)、MySQL數(shù)據(jù)庫(kù),能夠以最為簡(jiǎn)單的構(gòu)建方式和簡(jiǎn)潔的界面給用戶(hù)呈現(xiàn)出一般性Web服務(wù)器的運(yùn)行環(huán)境。DVWA的運(yùn)行需要安裝一個(gè)Web服務(wù)器,PHP開(kāi)發(fā)環(huán)境,MySQL數(shù)據(jù)庫(kù)。針對(duì)計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),若要配置好的Web服務(wù)器,則需要有較為系統(tǒng)性的知識(shí)儲(chǔ)備,而較為簡(jiǎn)單的方法就是下載并安裝Phpstudy。使用Phpstudy可以簡(jiǎn)單地在Linux,Solaris,Windows和Mac OS X上模擬基于PHP的Web服務(wù)器環(huán)境。這個(gè)安裝包包含Apache Web服務(wù)器,MySQL,PHP?,F(xiàn)實(shí)中,人們可以通過(guò)其發(fā)行的官方網(wǎng)站https://www. xp. cn進(jìn)行下載Phpstudy. zip,選擇合適的版本進(jìn)行安裝即可。本文采用的是Phpstudy 18 Windows版本。通過(guò)Phpstudy的簡(jiǎn)易安裝,可以省去復(fù)制Web應(yīng)用服務(wù)器環(huán)境的配置,適合大多數(shù)計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生進(jìn)行獨(dú)立環(huán)境的配置,并簡(jiǎn)化了師生的配置流程。在高校多年實(shí)驗(yàn)教學(xué)中,使用Phpstudy進(jìn)行簡(jiǎn)單Web應(yīng)用服務(wù)器的環(huán)境搭建,能夠滿(mǎn)足一般性中型網(wǎng)站服務(wù)器的部署,以及將真實(shí)的Web應(yīng)用服務(wù)器轉(zhuǎn)變成高校網(wǎng)絡(luò)安全滲透測(cè)試的實(shí)驗(yàn)室環(huán)境。
1.2DVWA簡(jiǎn)介
人們?cè)趯W(xué)習(xí)網(wǎng)絡(luò)安全滲透技術(shù)時(shí),需要對(duì)實(shí)驗(yàn)環(huán)境進(jìn)行各種技術(shù)、工具的測(cè)試,但隨著近年來(lái)網(wǎng)絡(luò)安全法規(guī)的逐步健全,這樣的測(cè)試環(huán)境已經(jīng)不能隨便讓人使用,為了能夠較為真實(shí)地學(xué)習(xí)Web滲透的各種技術(shù),就需要找一個(gè)專(zhuān)門(mén)用于學(xué)習(xí)的Web演練平臺(tái),并將這種用于練習(xí)滲透的平臺(tái)稱(chēng)為“靶場(chǎng)”。DVWA是一個(gè)人門(mén)級(jí)別的Web安全學(xué)習(xí)靶場(chǎng)(包含暴力破解,命令注入,文件包含,文件上傳,不安全的驗(yàn)證碼,SQL注入,跨站腳本,XSS等),通過(guò)簡(jiǎn)單的配置,就能夠提供模擬滲透測(cè)試方面的學(xué)習(xí)[1]。
準(zhǔn)確來(lái)說(shuō),DVWA是一個(gè)Web應(yīng)用集成,它集成了PHP語(yǔ)言開(kāi)發(fā)和MySQL數(shù)據(jù)庫(kù)相關(guān)軟件,能夠以最為快捷、簡(jiǎn)單的方式為用戶(hù)構(gòu)建出一個(gè)充滿(mǎn)嚴(yán)重漏洞的Web服務(wù)器的運(yùn)行環(huán)境。DVWA可以進(jìn)行SQL注入、XSS、CSRF、文件上傳等漏洞的演練,由于該系統(tǒng)提供了多個(gè)安全演練級(jí)別,因此其可以逐步提高Web滲透技術(shù)。DVWA是一套開(kāi)源的系統(tǒng),在練習(xí)Web滲透技術(shù)的同時(shí),也可以通過(guò)閱讀源碼學(xué)習(xí)對(duì)于各種漏洞的安全防護(hù)編碼。
2基于DVWA平臺(tái)的滲透測(cè)試環(huán)境的配置
2.1Web應(yīng)用服務(wù)器環(huán)境搭建
隨著我國(guó)信息技術(shù)的發(fā)展和網(wǎng)絡(luò)安全事件頻發(fā),網(wǎng)絡(luò)信息安全專(zhuān)業(yè)已成為我國(guó)很多高校開(kāi)設(shè)的基礎(chǔ)性專(zhuān)業(yè),其適合于高等院校網(wǎng)絡(luò)信息安全專(zhuān)業(yè)方向的學(xué)生學(xué)習(xí)與使用。在高校學(xué)生進(jìn)行配置網(wǎng)絡(luò)安全滲透測(cè)試環(huán)境實(shí)驗(yàn)過(guò)程中,由于他們學(xué)習(xí)的計(jì)算機(jī)專(zhuān)業(yè)方向有所區(qū)別,因此其學(xué)習(xí)網(wǎng)絡(luò)安全知識(shí)的側(cè)重點(diǎn)有所不同,從而導(dǎo)致他們配置出的實(shí)驗(yàn)結(jié)果差異較大。專(zhuān)業(yè)指導(dǎo)教師需按照高校自建計(jì)算機(jī)實(shí)驗(yàn)室的運(yùn)行條件,結(jié)合Phpstudy和DVWA兩個(gè)軟件進(jìn)行網(wǎng)絡(luò)安全滲透測(cè)試實(shí)驗(yàn)配置,將實(shí)驗(yàn)正確的步驟與現(xiàn)有靶機(jī)軟件組成工作結(jié)合,才能夠有效展示出網(wǎng)絡(luò)安全滲透測(cè)試實(shí)驗(yàn)配置真實(shí)水平,最大程度地將實(shí)際網(wǎng)絡(luò)環(huán)境中的Web應(yīng)用服務(wù)網(wǎng)站進(jìn)行還原。在制定及搭建普適性Web應(yīng)用服務(wù)器的真實(shí)運(yùn)行環(huán)境時(shí),要結(jié)合網(wǎng)絡(luò)安全滲透測(cè)試的具體應(yīng)用場(chǎng)景與要求[2]。因此在設(shè)計(jì)本次搭建網(wǎng)站滲透測(cè)試實(shí)驗(yàn)配置項(xiàng)目時(shí),需要對(duì)項(xiàng)目設(shè)計(jì)中所涉及的Phpstudy,DVWA和服務(wù)器等設(shè)備配置及其相關(guān)的滲透測(cè)試實(shí)驗(yàn)項(xiàng)目要求進(jìn)行配置需求分析,形成統(tǒng)一的標(biāo)準(zhǔn)配置方案,以提升實(shí)驗(yàn)環(huán)境搭建的成功率,并在以后的網(wǎng)絡(luò)安全滲透測(cè)試實(shí)驗(yàn)中形成一套標(biāo)準(zhǔn)流程。
在高校Web應(yīng)用安全實(shí)驗(yàn)室中,專(zhuān)業(yè)教師可以指導(dǎo)學(xué)生在實(shí)驗(yàn)室中進(jìn)行安裝、配置滲透測(cè)試環(huán)境,由于過(guò)程配置較為簡(jiǎn)單,專(zhuān)業(yè)教師可以在上課期間,對(duì)照整理好的安裝、配置流程圖,指導(dǎo)學(xué)生一步一步實(shí)踐。鼠標(biāo)雙擊已經(jīng)下載好的Phpstudy軟件,按照安全提示,選擇安裝途徑即可完成環(huán)境軟件的安裝,正常啟動(dòng)后,就能正常打開(kāi)Web應(yīng)用服務(wù)器,為用戶(hù)提供Web服務(wù)。
2.2Web應(yīng)用服務(wù)器配置
完成Web應(yīng)用服務(wù)器環(huán)境搭建后,需要將DVWA復(fù)制到phpStudy的WWW子目錄下,并將文件修改為可編輯的php文件,然后用文本格式打開(kāi),將該配置文件中與數(shù)據(jù)庫(kù)相關(guān)的參數(shù)修改為與Phpstudy對(duì)應(yīng)的用戶(hù)和密碼一致的root,在配置過(guò)程中,應(yīng)按照全局規(guī)劃、有序配置規(guī)則進(jìn)行,以形成配置的標(biāo)準(zhǔn)化和流程化,從而避免重復(fù)配置或遺漏配置等問(wèn)題,達(dá)到提升實(shí)驗(yàn)配置質(zhì)量水平的目的。
3基于XSS的模擬攻擊實(shí)驗(yàn)流程分析
3.1XSS概述
跨站點(diǎn)腳本( XSS)漏洞是網(wǎng)站上最常見(jiàn)的可利用漏洞。由于缺乏輸入數(shù)據(jù)清理,XSS漏洞普遍存在于各大網(wǎng)站。XSS攻擊涉及三個(gè)實(shí)體:攻擊者、受害者、脆弱網(wǎng)站或Web應(yīng)用程序[3]。攻擊產(chǎn)生的本質(zhì)原因在于脆弱網(wǎng)站的一個(gè)HTML頁(yè)面上有一個(gè)可以返回用戶(hù)輸入的腳本,而該腳本并不對(duì)用戶(hù)的輸入進(jìn)行任何審查,這就使得攻擊者可以在其中輸入JavaScript代碼,并由受害者的瀏覽器執(zhí)行。因此,其有可能構(gòu)造一個(gè)指向該脆弱網(wǎng)站的鏈接,該鏈接中的一個(gè)參數(shù)就是惡意JavaScript代碼。這個(gè)JavaScript代碼將在打開(kāi)的脆弱網(wǎng)站環(huán)境中由受害者的瀏覽器執(zhí)行,使攻擊者訪(fǎng)問(wèn)受害者關(guān)于脆弱網(wǎng)站的cookie。DVWA是一個(gè)分安全等級(jí),以及存在嚴(yán)重安全漏洞的Web應(yīng)用服務(wù)器的靶機(jī),通過(guò)設(shè)置其安全等級(jí),可以將XSS漏洞盡可能地顯示出來(lái),以便在實(shí)驗(yàn)室進(jìn)行滲透測(cè)試過(guò)程中,讓學(xué)生親自體驗(yàn)該攻擊行為的全過(guò)程。
3.2修改DVWA安全等級(jí)
啟動(dòng)PHPStudy后,就可以在瀏覽器上輸入http://127.0.0. 1/dvwa進(jìn)行登錄,錄入默認(rèn)的用戶(hù)名admin和密碼password后,進(jìn)入搭建好的DVWA靶場(chǎng)[4]。由于靶場(chǎng)為了適應(yīng)不同技術(shù)等級(jí)的人員使用,整個(gè)靶場(chǎng)的安全級(jí)別設(shè)置為四個(gè)級(jí)別,為了簡(jiǎn)單測(cè)試滲透測(cè)試的實(shí)戰(zhàn)作用,本文選擇最低安全級(jí)別來(lái)演示,具體安全等級(jí)設(shè)置如圖1所示。
在DVWA靶機(jī)右側(cè)的菜單項(xiàng),選中DVWASecurity后,在后側(cè)的安全級(jí)別中選擇LOW級(jí)別,再進(jìn)行確認(rèn)就可以將靶機(jī)的安全級(jí)別設(shè)為最低級(jí)別,以便入門(mén)級(jí)用戶(hù)進(jìn)行安全滲透測(cè)試實(shí)驗(yàn)。
配置完安全級(jí)別后,就可以開(kāi)始模擬滲透測(cè)試實(shí)驗(yàn)。選擇反射性跨網(wǎng)站攻擊,在右側(cè)的菜單欄中選擇XSS(Reflected)后,在輸入框中輸入簡(jiǎn)單的腳本語(yǔ)句后,點(diǎn)擊確認(rèn),完成攻擊。結(jié)果顯示,通過(guò)在輸入框中錄入腳本語(yǔ)句,并在Web應(yīng)用程序沒(méi)有對(duì)輸入語(yǔ)句進(jìn)行審查的環(huán)境下,靶機(jī)的瀏覽器完全執(zhí)行了用戶(hù)錄入的非法代碼,從而驗(yàn)證了該網(wǎng)站存在驗(yàn)證的跨網(wǎng)站腳本攻擊漏洞。該攻擊行為雖然簡(jiǎn)單易用,但通過(guò)實(shí)驗(yàn),給學(xué)生帶來(lái)很直觀的滲透測(cè)試實(shí)驗(yàn)體驗(yàn),并具體闡述了典型的Web應(yīng)用網(wǎng)站遭遇XSS攻擊的整個(gè)工作原理和流程。
3.3結(jié)果性測(cè)試
結(jié)果性測(cè)試也是基于DVWA平臺(tái)實(shí)現(xiàn)滲透測(cè)試教學(xué)配置最為重要的一項(xiàng)任務(wù),只有按照整個(gè)實(shí)驗(yàn)環(huán)境進(jìn)行搭建,并對(duì)服務(wù)器的基本配置和安全等級(jí)進(jìn)行設(shè)定,才能更加流程化地完成網(wǎng)絡(luò)安全滲透測(cè)試實(shí)驗(yàn)步驟。在進(jìn)行DVWA平臺(tái)實(shí)現(xiàn)滲透測(cè)試教學(xué)配置實(shí)驗(yàn)之前,需要將整體環(huán)境配置流程化和標(biāo)準(zhǔn)化,將實(shí)驗(yàn)的結(jié)果進(jìn)行量化,標(biāo)識(shí)出的每項(xiàng)結(jié)果需要達(dá)到預(yù)期目標(biāo),對(duì)結(jié)果進(jìn)行普適性分析,并列出滿(mǎn)足實(shí)驗(yàn)?zāi)康母黜?xiàng)指標(biāo),以檢測(cè)測(cè)試結(jié)果是否符合設(shè)定流程以及是否實(shí)現(xiàn)實(shí)驗(yàn)的各項(xiàng)技術(shù)指標(biāo)。在滲透測(cè)試過(guò)程中,通過(guò)對(duì)靶機(jī)平臺(tái)的構(gòu)建,明確學(xué)生需要完成的滲透測(cè)試任務(wù),并給出滲透測(cè)試的目的和結(jié)果,讓學(xué)生按照標(biāo)準(zhǔn)化流程和任務(wù)點(diǎn),對(duì)靶機(jī)進(jìn)行各種類(lèi)型的安全滲透測(cè)試(如XSS、暴力破解,命令注入,文件包含,文件上傳,不安全的驗(yàn)證碼,SQL注入等),通過(guò)各種類(lèi)型Web應(yīng)用程序的漏洞測(cè)試,能夠讓學(xué)生從實(shí)驗(yàn)結(jié)果中反思漏洞的基本原理,從而更好地提升課堂教學(xué)效果。而在本次基于DVWA平臺(tái)實(shí)現(xiàn)滲透測(cè)試教學(xué)的探索與實(shí)踐中,只要充分利用現(xiàn)在高校網(wǎng)絡(luò)安全實(shí)驗(yàn)室的硬件設(shè)施設(shè)備,能夠完全滿(mǎn)足各種類(lèi)型的Web應(yīng)用程序滲透測(cè)試的教學(xué)要求,通過(guò)讓學(xué)生獨(dú)立完成各種實(shí)驗(yàn),以實(shí)現(xiàn)提升學(xué)生實(shí)操動(dòng)手能力的教學(xué)目標(biāo)。
4結(jié)束語(yǔ)
在基于DVWA平臺(tái)實(shí)現(xiàn)滲透測(cè)試教學(xué)的探索與實(shí)踐實(shí)驗(yàn)中,主要從網(wǎng)絡(luò)安全滲透測(cè)試實(shí)驗(yàn)設(shè)計(jì)目的、配置步驟、實(shí)驗(yàn)要求和配置分析以及實(shí)驗(yàn)結(jié)果分析等多方面對(duì)基于DVWA平臺(tái)實(shí)現(xiàn)滲透測(cè)試教學(xué)的探索與實(shí)踐實(shí)驗(yàn)進(jìn)行了分析,從綜述角度來(lái)看,在高?,F(xiàn)有的網(wǎng)絡(luò)安全實(shí)驗(yàn)環(huán)境中,使用Phpstudy和DVWA進(jìn)行網(wǎng)絡(luò)安全滲透測(cè)試平臺(tái)搭建時(shí),應(yīng)該明確環(huán)境搭建中的各項(xiàng)配置任務(wù)的指標(biāo)和要求,并且明確環(huán)境搭建目的及要求、配置過(guò)程配置標(biāo)準(zhǔn)、滲透測(cè)試效果可測(cè)量,這樣才能夠準(zhǔn)確、科學(xué)地突出使用Web應(yīng)用服務(wù)器靶機(jī)進(jìn)行實(shí)驗(yàn)的特性,進(jìn)而有效地為網(wǎng)絡(luò)安全滲透測(cè)試配置奠定基礎(chǔ),提升滲透測(cè)試實(shí)驗(yàn)配置水平。