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