陶謙文 凌杭 邱迅



基于網絡爬蟲的高校WEB應用漏洞檢測
陶謙文 凌杭 邱迅
摘要:網絡安全問題是現代社會非常重視的一個問題,在信息科學技術穩定發展和廣泛應用的時期,高校網絡安全引起社會廣泛關注,因為高校網站集信息發布、數據統計、數據分析、軟件辦公、共同交流等功能于一體,這使得對學生與教師數據安全與個人隱私的保護尤為重要,為此,本文將討論通過對各大高校網站統計常見漏洞出現頻率,針對各常見漏洞,對其特征進行分析統計,并應用于高校網站,觀察高校潛在漏洞。利用網絡爬蟲技術,對高校網絡進行爬取,提取特征,尋找漏洞,并正確處理。
關鍵詞:網絡安全;網絡爬蟲;網絡漏洞
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)19-0044-03
開放科學(資源服務)際i只碼(OSID):
1 引言
當前,中國正處于信息化網絡教學調整變革的重要時期,各大高校擁有各自的校園網站以及學生教師數據庫。正是這樣的背景下,家長接到的詐騙電話也在不斷增加,側面的反映了各大高校網站信息的安全性是低下的,如何保證高校校園信息安全成為當今社會的熱點問題。
因此,本文將討論通過各大高校網站統計常見漏洞出現頻率,針對各常見漏洞,對其特征進行分析統計,并應用于高校網站,觀察高校潛在漏洞,實現對各大高校提供模擬攻擊服務,應用條件概率模型,對攻擊結果形成檢測報告。使用網絡爬蟲技術建立起高校安全的云平臺,以高校網站為主要群體,進行開發應用,以驗證檢測效率。
2 網絡爬蟲技術概要
網絡爬蟲,在互聯網已經被廣泛應用的一種按照確定的邏輯去自動抓取WEB資源(圖片,音頻等資源)的程序。
爬蟲對于WEB系統的訪問,一般是難以防范的,爬蟲會搶占網絡帶寬和占用WEB服務器的計算資源,擠占普通用戶所分配的資源,使得普通用戶使用WEB應用時出現卡頓,頻繁掉線等情況從而影響WEB系統的正常運作。一些惡意爬蟲程序對WEB系統發動的DDoS攻擊,也基于上述原理,攻擊者使用大量爬蟲程序的頻繁訪問目標WEB系統,擠占服務器以及帶寬資源,使得系統不能正常對普通用戶工作,造成服務器資源的浪費。惡意爬蟲還可能通過特定腳本抓取各種敏感資料和WEB系統所存的用戶信息造成個人信息泄露。
由于開發人員缺乏足夠的安全知識和大部分系統是外包的給第三機構開發的原因,使得不少WEB系統存在安全隱患。攻擊者針對WEB系統可以提交一條包含SQL語句或腳本的URL請求的語句,根據WEB應用程序的返回結果,分析或解密相關的敏感信息(如管理員賬號及密碼),甚至在特殊情況下上述操作可以實現直接修改后臺數據庫用戶數據。基于WEB爬蟲技術已經成熟和現在的安全現狀,網絡爬蟲技術應用在WEB漏洞掃描上,可以提高發現漏洞的效率。
圖1就是利用JAVA的JSOUP爬蟲框架自動下載某學校的網站網頁的圖片的腳本核心代碼。應用網絡爬蟲技術到WEB漏洞掃描可以分為以下過程:
(1)WEB請求:通過腳本請求目標站點,返回WEB界面數據。
(2)頁面元素篩選:通過第一步后,對含有URL標簽的節點元素進行提取,以便可以進行再一步的操作。
(3)URI匹配:匹配WEB頁面中的URL,篩選由參數組合而成的動態查詢URL或者提交URL,進行下一步的漏洞探測。
(4)WEB漏洞探測:根據上述操作,由腳本在參數部分進行多次的參數變換,例如:插入冒號、分號及Script標簽等操作進行探測,然后根據WEB服務器返回的結果由腳本自動判斷是否存在漏洞。腳本的自動化操作,減輕了人工成本,而且可迅速有效的發現WEB的漏洞。
3 網絡爬蟲技術分析網頁漏洞的實現方法
3.1 網頁分析方法
基于對字符串的處理,我們使用正則表達式來進行篩選,例如:從字符串中獲取某個句法規則的片段,使用方法簡單易懂,靈活性較高,可以用任何規則來進行字符串的控制。
JAVA通過Pattern類來使用正則表達式,一般是創建出Pattern對象,并傳人所需要匹配類型的Pattern。
3.2 WEB漏洞檢測方法
用戶不容易發現攻擊者,攻擊網站后,加入了惡意的代碼,這些代碼具有一定的隱蔽性,因此,漏洞挖掘給出的可行性方案,就是要我們針對網頁的某些特殊屬性進行檢測,并給出一定的解決方案。
3.2.1 屬性分析
系統可以自動獲取網頁分析的網頁源碼,如果信息中出現標記時,與此同時也出現width=“0”和height=“0”的信息時,這就是被植入的網頁代碼,可以隱藏的,其中一個子窗口。
3.2.2比例分析
所使用的整個網頁大小的比值和網頁中的腳本代碼超過一定的界限,就將此網頁認定為惡意網頁的警告,反之則非惡意網頁。此方法可以提高效率的識別網頁的木馬。
3.2.3 信息熵分析
不確定程度的依據可以用信息熵來表示,其數學公式如下:
可以通過信息熵的加密后所顯示的特征來判定,這是不是一段友善的代碼。因為有剩的代碼,無需加密,只需正常輸出,但是不友善的代碼是通過信息的加密實現的。
4 檢測系統架構與實現
4.1 系統總體架構
系統由三大類服務端構成:后臺的工作端,后臺的服務端和前臺的用戶端。對應于三大塊程序:后臺的工作端守護程序、后臺的服務端守護程序,前臺的用戶界面服務。因此,各類的服務器都是以服務的方式運行的,當只有一臺主機時,用戶可以同時開啟后臺的工作端、后臺的服務端、前臺的用戶端來臨時作為單機的Web漏洞掃描軟件工作。
4.2 前臺架構與實現