一、研究背景及意義
隨著科學(xué)技術(shù)的發(fā)展和進(jìn)步,網(wǎng)絡(luò)技術(shù)的成熟,互聯(lián)網(wǎng)早已覆蓋全球。從中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心發(fā)布的《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》來(lái)看,截至2015年12月,我國(guó)的網(wǎng)民數(shù)量達(dá)到6.88億,互聯(lián)網(wǎng)普及率達(dá)到50.3%,超過(guò)一半的中國(guó)人已經(jīng)接入互聯(lián)網(wǎng)?,F(xiàn)如今,網(wǎng)上購(gòu)物平臺(tái),社交平臺(tái)隨處可見(jiàn),紛繁復(fù)雜,并隨著用戶(hù)人數(shù)的增加,平臺(tái)的功能更強(qiáng)大,往多樣化的方向發(fā)展。
互聯(lián)網(wǎng)迅猛的發(fā)展及其開(kāi)放性和網(wǎng)絡(luò)應(yīng)用的易于開(kāi)發(fā)等特性導(dǎo)致網(wǎng)絡(luò)發(fā)展的同時(shí)出現(xiàn)了許許多多的安全問(wèn)題。在眾多網(wǎng)絡(luò)應(yīng)用產(chǎn)生的所有安全問(wèn)題中,最突出,最典型的問(wèn)題就是跨站點(diǎn)腳本漏洞。根據(jù)OWASP(Open Web Application Security Project)發(fā)布的2010年到2013年研究報(bào)告,跨站點(diǎn)腳本漏洞(XSS)始終都位于漏洞安全排行榜前三位,是當(dāng)前最主要的Web安全威脅之一。近年來(lái),許多大型的SNS網(wǎng)絡(luò)經(jīng)常被一些黑客利用XSS蠕蟲(chóng)進(jìn)行攻擊。Twitter僅2009年內(nèi)就連續(xù)6次爆發(fā)多規(guī)模傳播的XSS蠕蟲(chóng)攻擊病毒,像著名的CNN.com,ebay,yahoo,F(xiàn)BI.gov,Time.com,apple computer,Microsoft都曾經(jīng)存在著跨站腳本攻擊漏洞。國(guó)內(nèi)網(wǎng)站也難以幸免的受到攻擊,比如國(guó)內(nèi)的人人網(wǎng),搜狐博客,百度空間等都曾受到過(guò)不同程度的蠕蟲(chóng)攻擊,由此可見(jiàn)其影響波及范圍非常的廣泛。
現(xiàn)如今,有不少工具可以檢測(cè)跨站腳本漏洞,比如IBM公司的Watchfire AppScan,可是這家公司開(kāi)發(fā)軟件是出于商業(yè)目的,用來(lái)增加公司收入,價(jià)格高,軟件代碼屬于商業(yè)機(jī)密。所以,在網(wǎng)絡(luò)應(yīng)用漏洞檢測(cè)方面,它并未得到普及和廣泛使用。當(dāng)然,也存在一些開(kāi)源的軟件,但是檢測(cè)效果相對(duì)較差。因此,關(guān)于跨站點(diǎn)腳本漏洞挖掘技巧的研究具有十分重要的理論意義和實(shí)用價(jià)值。
二、跨站腳本漏洞挖掘
實(shí)驗(yàn)環(huán)境的配置
實(shí)驗(yàn)需要的環(huán)境:主要是兩個(gè),burp suite 和 DVWA。Burp suite需要安裝Java環(huán)境才可以運(yùn)行,所以我們首先選擇安裝的是JDK6。安裝之后進(jìn)入我的電腦-屬性-高級(jí)-環(huán)境變量 找到path里面的變量值修改為安裝路徑。
首先配置JAVA運(yùn)行環(huán)境。
其次配置JAVA的環(huán)境變量如下:安裝完成后選擇我的電腦,進(jìn)入屬性面板,單擊高級(jí)系統(tǒng)設(shè)置。
選擇其中的高級(jí)標(biāo)簽頁(yè),點(diǎn)擊其中的環(huán)境變量按鈕。
對(duì)電腦環(huán)境變量進(jìn)行設(shè)置:
新建系統(tǒng)變量:JAVA_HOME
變量值:C:\Program Files (x86)\Java\ jdk1.6.0_43
在系統(tǒng)變量里面找到Path,然后單擊編輯;在最后添加\;%JAVA_HOME%\bin;
特別值得注意的是,在最后添加,切忌把默認(rèn)的部分刪除!如果刪除了,部分程序的運(yùn)行將會(huì)出現(xiàn)問(wèn)題。
在系統(tǒng)變量里新建CLASSPATH變量,在“變量值”處的起始位置添加.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最后驗(yàn)證環(huán)境變量是否配置成功即可:點(diǎn)擊屏幕左下方的開(kāi)始,在搜索程序和文件欄中輸入cmd
出現(xiàn)下圖界面,則說(shuō)明配置成功。
配置burp suite環(huán)境如下:在網(wǎng)上下載burpsuite,并解壓得兩個(gè)文件,雙擊BurpLoader.jar,即可打開(kāi)Burp Suite。
進(jìn)入程序,選擇:“I Accept”,即可開(kāi)啟主界面。
Burp Suite包含一系列的burp工具,這些工具之間存在大量的接口,可以用來(lái)互相通信。正是這些接口的存在,大大的提高和促進(jìn)了攻擊的效率。為了能夠統(tǒng)一處理HTTP請(qǐng)求,認(rèn)證,持久性,日志記錄,報(bào)警,上游代理和可擴(kuò)展性。平臺(tái)中所有的工具共享同一robust框架。Burp Suite允許攻擊者結(jié)合手工和自動(dòng)技術(shù)去枚舉、分析、攻擊Web 應(yīng)用程序。這些不同的burp 工具通過(guò)協(xié)同工作,有效的分享信息,支持以某種工具中的信息為基礎(chǔ)供另一種工具使用的方式發(fā)起攻擊。
接著我們配置Burp套件的監(jiān)聽(tīng)端口。
點(diǎn)擊Proxy,Options,將會(huì)出現(xiàn)interface,一般默認(rèn)這串?dāng)?shù)字不做修改。一單代理端口選擇和服務(wù)在burp套件開(kāi)始,我們需要配置瀏覽器。本次實(shí)驗(yàn)中使用的是火狐瀏覽器(下載地址:http://www.firefox.com.cn/download/)打開(kāi)火狐瀏覽器,找到菜單,點(diǎn)擊選項(xiàng)-高級(jí)-設(shè)置。
選擇手動(dòng)配置代理,在HTTP代理處輸入:127.0.0.1;端口處輸入:8080。點(diǎn)擊確定,就配置完成了。
現(xiàn)在我們可以在瀏覽器中輸入我們想要檢查的網(wǎng)站,我們會(huì)看到burp套件工具中proxy選項(xiàng)卡亮起紅色,表示需要你的輸入。套件工具默認(rèn)行為是攔截設(shè)置為ON,這表示它捕獲的所有發(fā)送請(qǐng)求,然后由用戶(hù)輸入來(lái)決定是否將數(shù)據(jù)包轉(zhuǎn)發(fā)或丟棄。
進(jìn)入Burp Suite,點(diǎn)擊Intercept,點(diǎn)擊Intercept is on這個(gè)按鈕
再次進(jìn)入火狐瀏覽器在搜索欄中輸入“nike”,網(wǎng)頁(yè)始終無(wú)法加載出來(lái)
同時(shí)Burp Suite顯示如下,說(shuō)明攔截成功。成功限制了用戶(hù)的訪(fǎng)問(wèn)。關(guān)閉攔截,我們可以在歷史記錄中看到提交過(guò)的數(shù)據(jù)。
點(diǎn)擊Intercept is off這個(gè)按鈕時(shí),再次在搜索欄輸入“nike”,便可正常訪(fǎng)問(wèn)了。
三、總結(jié)與展望
隨著網(wǎng)站開(kāi)發(fā)技術(shù)不斷的發(fā)展前進(jìn),人們的日常生活已經(jīng)離不開(kāi)網(wǎng)站應(yīng)用,但是網(wǎng)站應(yīng)用攻擊這個(gè)問(wèn)題層出不窮。針對(duì)網(wǎng)站應(yīng)用的攻擊時(shí)刻都在發(fā)生。所以,本文選擇了對(duì)其中發(fā)生頻率最高,影響范圍最廣的跨站腳本攻擊進(jìn)行研究。
本文首先對(duì)跨站點(diǎn)腳本漏洞的研究背景和國(guó)內(nèi)外研究現(xiàn)狀做了分析說(shuō)明,以漏洞形成原因?yàn)闃?biāo)準(zhǔn)將跨站點(diǎn)腳本漏洞進(jìn)行了分類(lèi),并對(duì)各個(gè)類(lèi)型的跨站點(diǎn)腳本漏洞的定義,特點(diǎn)以及攻擊原理和過(guò)程進(jìn)行了詳細(xì)的分析描述。此外,站在不同人員的角度,對(duì)跨站點(diǎn)腳本漏洞的防御手段做了分析。并以實(shí)驗(yàn)的方式通過(guò)對(duì)跨站腳本攻擊進(jìn)行檢測(cè)來(lái)研究跨站點(diǎn)腳本漏洞的挖掘技巧。