◆陳志偉
?
基于滲透測(cè)試實(shí)例的Web安全研究
◆陳志偉
(福建省南平市福建林業(yè)職業(yè)技術(shù)學(xué)院 福建 353000)
如今,Web安全使用技術(shù)在各領(lǐng)域都有了越來(lái)越廣泛的應(yīng)用,但是因?yàn)榉缸锓肿俞槍?duì)Web使用程序中有關(guān)安全漏洞的開發(fā)、利用及惡意攻擊技術(shù)方法的不斷出現(xiàn),造成Web的使用程序在給使用者們提供方便、簡(jiǎn)潔服務(wù)的同時(shí),這些使用者不得不為自身系統(tǒng)程序可能會(huì)存在的Web安全漏洞而擔(dān)心。因此,針對(duì)Web使用程序進(jìn)行有關(guān)安全測(cè)驗(yàn),以期找出其可能存在的安全隱患,并進(jìn)行進(jìn)一步的修復(fù)、升級(jí),可以更加有效地提高Web使用程序的安全性及穩(wěn)定性。
滲透測(cè)試;實(shí)例研究;Web安全;漏洞
由于目前許多類型的網(wǎng)絡(luò)安全系統(tǒng)的使用技術(shù)和各領(lǐng)域的網(wǎng)絡(luò)化、數(shù)字化發(fā)展相結(jié)合使用的進(jìn)程不斷加快,使Web的使用程序在各領(lǐng)域內(nèi)都受到了廣泛的推及與使用[1]。但是,在Web使用程序給使用者們提供方便、簡(jiǎn)潔服務(wù)的同時(shí),犯罪分子針對(duì)Web使用程序有關(guān)安全漏洞的開發(fā)、利用及攻擊技術(shù)手法的不斷出現(xiàn)[2],因而造成Web使用程序內(nèi)部可能出現(xiàn)的安全問(wèn)題令人擔(dān)心。因此,針對(duì)Web使用程序進(jìn)行一定程度上的安全測(cè)驗(yàn),以便及時(shí)找出其內(nèi)部存在的安全隱患,并進(jìn)行進(jìn)一步的改造、修復(fù)及升級(jí),可以更加有效地提高Web使用程序的安全性及穩(wěn)定性[3]。在Internet普及化及Web新技術(shù)快速發(fā)展的今天,用戶使用安全所面臨的困難日益嚴(yán)重。隨著電子化信息建設(shè)的不斷加深,Web技術(shù)的日益演變、發(fā)展,Web使用技術(shù)已經(jīng)在各大電子商務(wù)、政務(wù)平臺(tái)上得到廣泛地推廣,以便更好地協(xié)助工作、社會(huì)大眾網(wǎng)絡(luò)設(shè)施服務(wù)網(wǎng)以及以托管服務(wù)為代表的Web技術(shù),在一定程度上改變?nèi)藗兒凸ぷ髦g共同的交流方式[4]。但這些新方法在給商業(yè)內(nèi)容的發(fā)展帶來(lái)基于的同時(shí),也帶來(lái)了前所未有的商業(yè)挑戰(zhàn)。隨著在線網(wǎng)絡(luò)信息可用性服務(wù)化的提高,基于Web的攻擊和毀壞速度的快速增加,安全事故的發(fā)生率也隨之達(dá)到了以前從未有過(guò)的高度。Web技術(shù)在操作過(guò)程中可能會(huì)出現(xiàn)各種安全隱患的事故,要解決Web安全問(wèn)題,首先就需要知道什么是Web技術(shù)[5],Web通常是指World Wide Web,簡(jiǎn)稱為WWW。利用Web,互聯(lián)網(wǎng)上的各種信息、視頻、數(shù)據(jù)資源,都可以在一個(gè)共同網(wǎng)頁(yè)的界面里以一種比較直觀、科學(xué)、簡(jiǎn)潔的畫面進(jìn)行展示。因此,在網(wǎng)頁(yè)內(nèi)容及網(wǎng)頁(yè)所鏈接的各種網(wǎng)絡(luò)資源的安全使用基礎(chǔ)上形成了以Web安全為實(shí)體界面的操作平臺(tái)。Web的網(wǎng)絡(luò)服務(wù)站點(diǎn)就是在為社會(huì)群體、公司、組織機(jī)構(gòu)傳播社會(huì)信息、提供大眾服務(wù)、進(jìn)行產(chǎn)品銷售和溝通業(yè)務(wù)聯(lián)系之中經(jīng)常性使用的網(wǎng)絡(luò)傳媒工具,這才并發(fā)出現(xiàn),為人們提供各種高能、優(yōu)秀服務(wù)的同時(shí),也成為某些不法團(tuán)體或個(gè)人出于各種謀求私利的目的而進(jìn)行網(wǎng)絡(luò)群體攻擊的手段[6]。黑客對(duì)Web網(wǎng)絡(luò)服務(wù)站點(diǎn)的非法攻擊的頻率也在不斷增加,尤其是那些安全防守手段很弱的Web站點(diǎn)早已成為不少黑客們進(jìn)行攻擊的主要對(duì)象。這主要是因?yàn)槟切¦eb站點(diǎn)的特別性導(dǎo)致的,例如攻擊手段往往是利用Web服務(wù)站點(diǎn)中腳本固有的安全漏洞去進(jìn)行攻擊的,或者通過(guò)Web網(wǎng)絡(luò)服務(wù)站點(diǎn)非正常工作時(shí)所通過(guò)的安全端口進(jìn)行攻擊,如70、445、4624、8080等。隨著漏洞開發(fā)尋找技術(shù)和漏洞結(jié)合機(jī)制的不斷開發(fā)、完善,將會(huì)有許多的安全漏洞被眾人發(fā)現(xiàn)[7]。但同時(shí),也應(yīng)該注意到,隨著網(wǎng)絡(luò)攻擊手段的不斷增多、門檻的不斷降低,這種針對(duì)個(gè)別安全漏洞進(jìn)行攻擊的不法行為幾乎下一秒就會(huì)發(fā)生,從網(wǎng)絡(luò)世界上可以很容易地就找到對(duì)某些特殊漏洞的攻擊語(yǔ)言程序,再加上各種私利的不斷驅(qū)使,所以,針對(duì)安全漏洞的攻擊手段、方法常常令人防不勝防。針對(duì)近年不斷出現(xiàn)的Web安全隱患事故,著重研究對(duì)Web使用程序危害極大的兩種安全漏洞——SQL注入和XSS漏洞,并對(duì)Web安全的滲透測(cè)試進(jìn)行試驗(yàn)。
由于滲透測(cè)試是一項(xiàng)利用測(cè)試工作者站在諸多攻擊的立場(chǎng)上,因此,攻擊者的想法和攻擊動(dòng)作就必須進(jìn)行現(xiàn)實(shí)的模擬,然后再對(duì)系統(tǒng)進(jìn)行主動(dòng)解析,打破測(cè)試項(xiàng)目的安全防護(hù),分析系統(tǒng)上存在的每一個(gè)弱點(diǎn)、缺陷以及每一個(gè)可能為測(cè)試工作者所利用、掌握的任何一項(xiàng)安全漏洞等的安全事故,最后獲得對(duì)系統(tǒng)控制訪問(wèn)權(quán)的安全測(cè)試。滲透測(cè)試的過(guò)程一般是針對(duì)特別項(xiàng)目,依據(jù)原先就設(shè)計(jì)好的過(guò)程手續(xù)進(jìn)行實(shí)時(shí)檢驗(yàn),而并不是簡(jiǎn)簡(jiǎn)單單地進(jìn)行沒(méi)有大致目的地對(duì)測(cè)試目標(biāo)進(jìn)行任意操作,所以,滲透測(cè)試的具體流程步驟如下:
前期互相階段,一般指的是由測(cè)試工作者與委托者就測(cè)試內(nèi)容的前期問(wèn)題進(jìn)行互相了解并掌握,這樣就可以明確測(cè)試的大眾目標(biāo)、工作范圍。這一階段的主要內(nèi)容就是根據(jù)委托方的需求進(jìn)行大面積的信息搜集,再讓委托者對(duì)測(cè)試過(guò)程之中需要檢查的內(nèi)容、工作范圍有一定的認(rèn)識(shí),同時(shí),測(cè)驗(yàn)相關(guān)的主管工作人員需要制定測(cè)試步驟并為被測(cè)試人員分配一定的工作相關(guān)內(nèi)容。
對(duì)檢驗(yàn)?zāi)繕?biāo)進(jìn)行滲透測(cè)試的時(shí)候,需要進(jìn)行一場(chǎng)檢驗(yàn),這對(duì)信息的搜集、整理工作相當(dāng)重要,檢測(cè)人員可以利用Google的相關(guān)技術(shù)對(duì)目標(biāo)內(nèi)容進(jìn)行一些敏感項(xiàng)目的進(jìn)一步搜集,利用Whois對(duì)工作人員的有關(guān)工作信息進(jìn)行查詢收集,利用漏洞檢查器對(duì)被測(cè)試內(nèi)容進(jìn)行檢測(cè)等與信息整理有關(guān)工作的方法、手段。有時(shí)測(cè)試工作者也需要使用到社會(huì)信息工程學(xué)的知識(shí)進(jìn)行必要的信息搜查。需要對(duì)信息進(jìn)行搜集、整理基本如表1所示。
表1 基本信息表
如果信息的搜集、整理結(jié)束,整個(gè)測(cè)試團(tuán)隊(duì)的每個(gè)工作人員就必須自行匯報(bào)搜集的信息,并將所有搜集信息、數(shù)據(jù)進(jìn)行歸納總結(jié)和整理,以便各組人員之間進(jìn)行項(xiàng)目討論,有利于推動(dòng)適合的測(cè)試方案的產(chǎn)生,為滲透測(cè)試方法的出現(xiàn)起到促進(jìn)和奠基的作用。工作人員利用信息的集合、整理所需要的數(shù)據(jù)信息進(jìn)行解析、漏洞開發(fā),舉例剖析可供使用的薄弱環(huán)節(jié)、上傳信息、越權(quán)鏈接等有關(guān)安全事故的漏洞整合,工作人員能夠針對(duì)一定范圍內(nèi)的安全漏洞進(jìn)行攻擊,并對(duì)代碼的研發(fā)進(jìn)行研究。
SQL注入(SQL Injection)漏洞一般會(huì)對(duì)Web的使用或數(shù)據(jù)信息帶來(lái)潛在的安全問(wèn)題,如果這種漏洞被發(fā)現(xiàn)在測(cè)試系統(tǒng)內(nèi),那么測(cè)試人員就可以建立起特殊的SQL語(yǔ)言與數(shù)據(jù)信息庫(kù)進(jìn)行交換,通過(guò)對(duì)Web使用程序的改善和應(yīng)答,得出其想要了解的信息內(nèi)容。目前,學(xué)界對(duì)SQL注入的研究主要偏向于主動(dòng)攻擊和防范應(yīng)答。SQL注入是Web使用程序中最常見的安全威脅,其產(chǎn)生原因是開發(fā)人員在對(duì)Web使用程序進(jìn)行編寫與測(cè)試過(guò)程中,忽視了對(duì)使用者所輸入字符串信息的合法性檢查,導(dǎo)致一些SQL語(yǔ)言在未被有效過(guò)濾的情況下,通過(guò)使用被系統(tǒng)網(wǎng)絡(luò)的終端服務(wù)器誤認(rèn)為是合法命令的程序而去執(zhí)行,通過(guò)查詢后臺(tái)數(shù)據(jù)庫(kù)獲得敏感信息輸出,更有甚者能直接修改或者添加敏感信息,見圖1。
圖1 SQL注入漏洞的示意圖
因此,這種程序很容易會(huì)受到SQL的注入式攻擊。利用對(duì)SQL注入是漏洞的編寫,漏洞發(fā)現(xiàn)者可以對(duì)數(shù)據(jù)信息的利用進(jìn)行再次加工、刪改、更正、詢問(wèn)等操作,如可以利用結(jié)構(gòu)特殊的SQL語(yǔ)言對(duì)使用者的信息賬戶進(jìn)行增加、刪改等,或者進(jìn)行輸出文件的導(dǎo)入等操作,因而造成客戶敏感信息的外漏等。漏洞發(fā)現(xiàn)者還可以利用該漏洞獲取網(wǎng)絡(luò)信息資源甚至逾越系統(tǒng)最高權(quán)限的限制,達(dá)到掌握總體數(shù)據(jù)資源、操作界面的目的。
目前,絕大多數(shù)網(wǎng)站中都或多或少包含一些的非靜態(tài)內(nèi)容以提高用戶體驗(yàn),所謂非靜態(tài)內(nèi)容,就是根據(jù)用戶的環(huán)境和需要,Web的使用程序能夠輸出相應(yīng)的內(nèi)容。而這些非靜態(tài)的站點(diǎn)容易受到一種名為“跨站腳本攻擊(Cross Site Scripting)”的威脅,為了不與重疊樣式組合(Cascading Style Sheets,CSS)混為一談,所以,將跨站腳本的主動(dòng)攻擊改為XSS。XSS是一項(xiàng)經(jīng)常出現(xiàn)在Web使用程序的網(wǎng)絡(luò)安全使用漏洞,這會(huì)造成Web系統(tǒng)的惡意用戶將編碼編入其它使用者常常使用的界面中。比如,這些編碼包括HTML編碼、客戶端口的角色等等。攻擊角色會(huì)利用XSS的安全漏洞避免控制鏈接訪問(wèn),例如,同源策略(Same origin policy),這種安全漏洞是因?yàn)楸淮罅亢诳陀脕?lái)編寫威脅性更大的Phishing攻擊,使得其攻擊更為厲害。
構(gòu)建URL攻擊技術(shù)的傳播范圍畢竟有限,第三方使用者只要有一般的安全意識(shí)就可以避免,因此這種技術(shù)手法的危險(xiǎn)性比較小。相較而言,通過(guò)發(fā)表內(nèi)容及觀點(diǎn)而搭建的存儲(chǔ)型XSS的危害就要大很多。在可以發(fā)表用戶個(gè)人觀點(diǎn)的微博、論壇、貼吧及博客等網(wǎng)站上,用戶發(fā)表的信息會(huì)被保存起來(lái),并允許其他用戶瀏覽。這些被保存的信息顯示在頁(yè)面上的時(shí)候,如果沒(méi)有經(jīng)過(guò)有效安全地處理,就容易使攻擊者設(shè)計(jì)的內(nèi)容顯示出來(lái),一旦訪問(wèn)這些信息的用戶就可能中招,如果該頁(yè)面信息流傳甚廣,則影響會(huì)更為嚴(yán)重,見圖2。
圖2 存儲(chǔ)型XSS的攻擊示意圖
XSS漏洞是由于非靜態(tài)網(wǎng)頁(yè)的Web實(shí)用程序?qū)τ脩羲峤坏淖址畔⑽醋龀浞值臋z查過(guò)濾,允許用戶在提交的字符串中夾雜代碼,然后未經(jīng)重新組織、編碼而輸出到了第三方用戶的客戶端瀏覽器上,這些攻擊者有意無(wú)意提交的代碼就會(huì)被第三方用戶的瀏覽器解釋執(zhí)行。如果一個(gè)系統(tǒng)的界面使用應(yīng)用動(dòng)態(tài)界面向用戶發(fā)出來(lái)錯(cuò)誤消息,就會(huì)造成一般性的XSS系統(tǒng)漏洞。通常,該界面會(huì)包含一個(gè)文本消息的基本參數(shù)因素,并在組合使用中將這個(gè)文本信息反饋給用戶。
本文對(duì)基于滲透測(cè)驗(yàn)實(shí)例的Web安全進(jìn)行分析,依托滲透測(cè)驗(yàn)實(shí)例結(jié)合機(jī)制,根據(jù)具體的流程步驟、攻擊技術(shù)方法及示意圖,對(duì)系統(tǒng)安全的Web界面進(jìn)行調(diào)整,實(shí)現(xiàn)本文研究。測(cè)驗(yàn)實(shí)例表明,本文設(shè)計(jì)的方法具備極高的有效性。希望本文的研究能夠?yàn)榛跐B透測(cè)驗(yàn)實(shí)例的Web安全提供理論依據(jù)。
[1]杜經(jīng)農(nóng).基于Web應(yīng)用軟件安全漏洞測(cè)試方法研究[D].華中科技大學(xué),2017.
[2]常艷,王冠.網(wǎng)絡(luò)安全滲透測(cè)試研究[J].信息網(wǎng)絡(luò)安全,2017.
[3]唐曉東,唐偉,王賢菊.入侵檢測(cè)系統(tǒng)與漏洞掃描聯(lián)動(dòng)的應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017.
[4]張馳,羅森林.基于端口和編號(hào)的漏洞代碼匹配方案研究[J].信息網(wǎng)絡(luò)安全,2016.
[5]朱遠(yuǎn)文,張煜,常暢,王春東.基于Cookie的安全防護(hù)技術(shù)研究[J].信息網(wǎng)絡(luò)安全,2017.
[6]祝瑞,車敏.基于HTTP協(xié)議的服務(wù)器程序分析[J].現(xiàn)代電子技術(shù),2017.
[7]都娟.基于模糊測(cè)試方法的Web應(yīng)用安全性測(cè)試技術(shù)的研宄及其工具實(shí)現(xiàn)[D].華東師范大學(xué),2017.