◆陳志偉
?
基于滲透測試實例的Web安全研究
◆陳志偉
(福建省南平市福建林業職業技術學院 福建 353000)
如今,Web安全使用技術在各領域都有了越來越廣泛的應用,但是因為犯罪分子針對Web使用程序中有關安全漏洞的開發、利用及惡意攻擊技術方法的不斷出現,造成Web的使用程序在給使用者們提供方便、簡潔服務的同時,這些使用者不得不為自身系統程序可能會存在的Web安全漏洞而擔心。因此,針對Web使用程序進行有關安全測驗,以期找出其可能存在的安全隱患,并進行進一步的修復、升級,可以更加有效地提高Web使用程序的安全性及穩定性。
滲透測試;實例研究;Web安全;漏洞
由于目前許多類型的網絡安全系統的使用技術和各領域的網絡化、數字化發展相結合使用的進程不斷加快,使Web的使用程序在各領域內都受到了廣泛的推及與使用[1]。但是,在Web使用程序給使用者們提供方便、簡潔服務的同時,犯罪分子針對Web使用程序有關安全漏洞的開發、利用及攻擊技術手法的不斷出現[2],因而造成Web使用程序內部可能出現的安全問題令人擔心。因此,針對Web使用程序進行一定程度上的安全測驗,以便及時找出其內部存在的安全隱患,并進行進一步的改造、修復及升級,可以更加有效地提高Web使用程序的安全性及穩定性[3]。在Internet普及化及Web新技術快速發展的今天,用戶使用安全所面臨的困難日益嚴重。隨著電子化信息建設的不斷加深,Web技術的日益演變、發展,Web使用技術已經在各大電子商務、政務平臺上得到廣泛地推廣,以便更好地協助工作、社會大眾網絡設施服務網以及以托管服務為代表的Web技術,在一定程度上改變人們和工作之間共同的交流方式[4]。但這些新方法在給商業內容的發展帶來基于的同時,也帶來了前所未有的商業挑戰。隨著在線網絡信息可用性服務化的提高,基于Web的攻擊和毀壞速度的快速增加,安全事故的發生率也隨之達到了以前從未有過的高度。Web技術在操作過程中可能會出現各種安全隱患的事故,要解決Web安全問題,首先就需要知道什么是Web技術[5],Web通常是指World Wide Web,簡稱為WWW。利用Web,互聯網上的各種信息、視頻、數據資源,都可以在一個共同網頁的界面里以一種比較直觀、科學、簡潔的畫面進行展示。因此,在網頁內容及網頁所鏈接的各種網絡資源的安全使用基礎上形成了以Web安全為實體界面的操作平臺。Web的網絡服務站點就是在為社會群體、公司、組織機構傳播社會信息、提供大眾服務、進行產品銷售和溝通業務聯系之中經常性使用的網絡傳媒工具,這才并發出現,為人們提供各種高能、優秀服務的同時,也成為某些不法團體或個人出于各種謀求私利的目的而進行網絡群體攻擊的手段[6]。黑客對Web網絡服務站點的非法攻擊的頻率也在不斷增加,尤其是那些安全防守手段很弱的Web站點早已成為不少黑客們進行攻擊的主要對象。這主要是因為那些Web站點的特別性導致的,例如攻擊手段往往是利用Web服務站點中腳本固有的安全漏洞去進行攻擊的,或者通過Web網絡服務站點非正常工作時所通過的安全端口進行攻擊,如70、445、4624、8080等。隨著漏洞開發尋找技術和漏洞結合機制的不斷開發、完善,將會有許多的安全漏洞被眾人發現[7]。但同時,也應該注意到,隨著網絡攻擊手段的不斷增多、門檻的不斷降低,這種針對個別安全漏洞進行攻擊的不法行為幾乎下一秒就會發生,從網絡世界上可以很容易地就找到對某些特殊漏洞的攻擊語言程序,再加上各種私利的不斷驅使,所以,針對安全漏洞的攻擊手段、方法常常令人防不勝防。針對近年不斷出現的Web安全隱患事故,著重研究對Web使用程序危害極大的兩種安全漏洞——SQL注入和XSS漏洞,并對Web安全的滲透測試進行試驗。
由于滲透測試是一項利用測試工作者站在諸多攻擊的立場上,因此,攻擊者的想法和攻擊動作就必須進行現實的模擬,然后再對系統進行主動解析,打破測試項目的安全防護,分析系統上存在的每一個弱點、缺陷以及每一個可能為測試工作者所利用、掌握的任何一項安全漏洞等的安全事故,最后獲得對系統控制訪問權的安全測試。滲透測試的過程一般是針對特別項目,依據原先就設計好的過程手續進行實時檢驗,而并不是簡簡單單地進行沒有大致目的地對測試目標進行任意操作,所以,滲透測試的具體流程步驟如下:
前期互相階段,一般指的是由測試工作者與委托者就測試內容的前期問題進行互相了解并掌握,這樣就可以明確測試的大眾目標、工作范圍。這一階段的主要內容就是根據委托方的需求進行大面積的信息搜集,再讓委托者對測試過程之中需要檢查的內容、工作范圍有一定的認識,同時,測驗相關的主管工作人員需要制定測試步驟并為被測試人員分配一定的工作相關內容。
對檢驗目標進行滲透測試的時候,需要進行一場檢驗,這對信息的搜集、整理工作相當重要,檢測人員可以利用Google的相關技術對目標內容進行一些敏感項目的進一步搜集,利用Whois對工作人員的有關工作信息進行查詢收集,利用漏洞檢查器對被測試內容進行檢測等與信息整理有關工作的方法、手段。有時測試工作者也需要使用到社會信息工程學的知識進行必要的信息搜查。需要對信息進行搜集、整理基本如表1所示。
表1 基本信息表

如果信息的搜集、整理結束,整個測試團隊的每個工作人員就必須自行匯報搜集的信息,并將所有搜集信息、數據進行歸納總結和整理,以便各組人員之間進行項目討論,有利于推動適合的測試方案的產生,為滲透測試方法的出現起到促進和奠基的作用。工作人員利用信息的集合、整理所需要的數據信息進行解析、漏洞開發,舉例剖析可供使用的薄弱環節、上傳信息、越權鏈接等有關安全事故的漏洞整合,工作人員能夠針對一定范圍內的安全漏洞進行攻擊,并對代碼的研發進行研究。
SQL注入(SQL Injection)漏洞一般會對Web的使用或數據信息帶來潛在的安全問題,如果這種漏洞被發現在測試系統內,那么測試人員就可以建立起特殊的SQL語言與數據信息庫進行交換,通過對Web使用程序的改善和應答,得出其想要了解的信息內容。目前,學界對SQL注入的研究主要偏向于主動攻擊和防范應答。SQL注入是Web使用程序中最常見的安全威脅,其產生原因是開發人員在對Web使用程序進行編寫與測試過程中,忽視了對使用者所輸入字符串信息的合法性檢查,導致一些SQL語言在未被有效過濾的情況下,通過使用被系統網絡的終端服務器誤認為是合法命令的程序而去執行,通過查詢后臺數據庫獲得敏感信息輸出,更有甚者能直接修改或者添加敏感信息,見圖1。

圖1 SQL注入漏洞的示意圖
因此,這種程序很容易會受到SQL的注入式攻擊。利用對SQL注入是漏洞的編寫,漏洞發現者可以對數據信息的利用進行再次加工、刪改、更正、詢問等操作,如可以利用結構特殊的SQL語言對使用者的信息賬戶進行增加、刪改等,或者進行輸出文件的導入等操作,因而造成客戶敏感信息的外漏等。漏洞發現者還可以利用該漏洞獲取網絡信息資源甚至逾越系統最高權限的限制,達到掌握總體數據資源、操作界面的目的。
目前,絕大多數網站中都或多或少包含一些的非靜態內容以提高用戶體驗,所謂非靜態內容,就是根據用戶的環境和需要,Web的使用程序能夠輸出相應的內容。而這些非靜態的站點容易受到一種名為“跨站腳本攻擊(Cross Site Scripting)”的威脅,為了不與重疊樣式組合(Cascading Style Sheets,CSS)混為一談,所以,將跨站腳本的主動攻擊改為XSS。XSS是一項經常出現在Web使用程序的網絡安全使用漏洞,這會造成Web系統的惡意用戶將編碼編入其它使用者常常使用的界面中。比如,這些編碼包括HTML編碼、客戶端口的角色等等。攻擊角色會利用XSS的安全漏洞避免控制鏈接訪問,例如,同源策略(Same origin policy),這種安全漏洞是因為被大量黑客用來編寫威脅性更大的Phishing攻擊,使得其攻擊更為厲害。
構建URL攻擊技術的傳播范圍畢竟有限,第三方使用者只要有一般的安全意識就可以避免,因此這種技術手法的危險性比較小。相較而言,通過發表內容及觀點而搭建的存儲型XSS的危害就要大很多。在可以發表用戶個人觀點的微博、論壇、貼吧及博客等網站上,用戶發表的信息會被保存起來,并允許其他用戶瀏覽。這些被保存的信息顯示在頁面上的時候,如果沒有經過有效安全地處理,就容易使攻擊者設計的內容顯示出來,一旦訪問這些信息的用戶就可能中招,如果該頁面信息流傳甚廣,則影響會更為嚴重,見圖2。

圖2 存儲型XSS的攻擊示意圖
XSS漏洞是由于非靜態網頁的Web實用程序對用戶所提交的字符串信息未做充分的檢查過濾,允許用戶在提交的字符串中夾雜代碼,然后未經重新組織、編碼而輸出到了第三方用戶的客戶端瀏覽器上,這些攻擊者有意無意提交的代碼就會被第三方用戶的瀏覽器解釋執行。如果一個系統的界面使用應用動態界面向用戶發出來錯誤消息,就會造成一般性的XSS系統漏洞。通常,該界面會包含一個文本消息的基本參數因素,并在組合使用中將這個文本信息反饋給用戶。
本文對基于滲透測驗實例的Web安全進行分析,依托滲透測驗實例結合機制,根據具體的流程步驟、攻擊技術方法及示意圖,對系統安全的Web界面進行調整,實現本文研究。測驗實例表明,本文設計的方法具備極高的有效性。希望本文的研究能夠為基于滲透測驗實例的Web安全提供理論依據。
[1]杜經農.基于Web應用軟件安全漏洞測試方法研究[D].華中科技大學,2017.
[2]常艷,王冠.網絡安全滲透測試研究[J].信息網絡安全,2017.
[3]唐曉東,唐偉,王賢菊.入侵檢測系統與漏洞掃描聯動的應用研究[J].網絡安全技術與應用,2017.
[4]張馳,羅森林.基于端口和編號的漏洞代碼匹配方案研究[J].信息網絡安全,2016.
[5]朱遠文,張煜,常暢,王春東.基于Cookie的安全防護技術研究[J].信息網絡安全,2017.
[6]祝瑞,車敏.基于HTTP協議的服務器程序分析[J].現代電子技術,2017.
[7]都娟.基于模糊測試方法的Web應用安全性測試技術的研宄及其工具實現[D].華東師范大學,2017.