禹立宏++何養(yǎng)育
摘 要
隨著電子商務(wù)、電子政務(wù)、網(wǎng)上銀行、證券、手機上網(wǎng)等業(yè)務(wù)的飛速發(fā)展, Web已成為主要的網(wǎng)絡(luò)應(yīng)用技術(shù),本文重點對SQL注入攻擊、跨站腳本攻擊、網(wǎng)頁掛馬和社會工程學(xué)攻擊等幾種WEB攻擊方式的定義、原理及危害進(jìn)行了論述,最后提出了WEB攻擊的防范方法。
【關(guān)鍵詞】WEB攻擊 防范
隨著電子商務(wù)、電子政務(wù)、網(wǎng)上銀行、證券、手機上網(wǎng)等業(yè)務(wù)的飛速發(fā)展,Web已成為主要的網(wǎng)絡(luò)應(yīng)用技術(shù),據(jù)CNCERT統(tǒng)計顯示,Web 流量已經(jīng)占據(jù)整個TCP 流量的80%以上。與此同時,WEB攻擊也大量增長,其已經(jīng)占互聯(lián)網(wǎng)攻擊總數(shù)的75%,我國每年被篡改的網(wǎng)站就高達(dá)四萬個,WEB攻擊已經(jīng)形成了一條組織嚴(yán)密、分工明確的黑色產(chǎn)業(yè)鏈,嚴(yán)重地危害著政治、經(jīng)濟和社會生活。
WEB攻擊的主要方式有:SQL注入攻擊、跨站腳本攻擊、網(wǎng)頁掛馬和社會工程學(xué)攻擊等。本文重點論述上述幾種攻擊定義、原理及危害,最后提出了WEB攻擊的防范方法。
1 常見WEB攻擊原理
1.1 SQL注入攻擊
1.1.1 SQL注入攻擊的定義
攻擊者利用WEB應(yīng)用程序?qū)τ脩糨斎腧炞C上的疏忽,在輸入的數(shù)據(jù)中加入對某些數(shù)據(jù)庫系統(tǒng)有特殊意義的符號或命令,讓攻擊者有機會直接對后臺數(shù)據(jù)庫系統(tǒng)下達(dá)指令,進(jìn)而實現(xiàn)對后臺數(shù)據(jù)庫乃至整個應(yīng)用系統(tǒng)的入侵。
1.1.2 SQL注入攻擊的基本原理
(1)尋找注入點:非常實用和經(jīng)典的尋找注入點方法是在參數(shù)后面跟上單引號或and 1=1, and 1=2判斷返回網(wǎng)頁是否正常。
(2)判斷數(shù)據(jù)庫類型:根據(jù)注入請求返回的出錯信息、網(wǎng)站的腳本類型來判斷或猜測。判斷數(shù)據(jù)庫類型對SQL注入非常重要,這是由于不同數(shù)據(jù)庫的SQL語句、系統(tǒng)表、函數(shù)及擴展功能差異會非常大,這直接會影響接下來的SQL注入語句的選擇。
(3)獲取數(shù)據(jù)庫內(nèi)容:獲取數(shù)據(jù)庫內(nèi)容的方法有兩種,一是根據(jù)注入請求返回的出錯信息直接獲取數(shù)據(jù)庫表、字段和記錄,注入速度較快;二是根據(jù)構(gòu)造注入語句返回差異來逐步猜解數(shù)據(jù)庫內(nèi)容,注入速度較慢。
(4)嘗試寫入WEBSHELL:網(wǎng)站后臺往往能夠提供比前臺更多的權(quán)限,但對整個網(wǎng)站而言,權(quán)限還不夠,需要設(shè)法上傳WEBSHELL來獲取更大的權(quán)限。通常方法有通過SQL注入語句寫文件、利用后臺的備份和上傳功能等。
1.2 跨站腳本攻擊
1.2.1 跨站腳本攻擊的定義
跨站腳本攻擊又叫XSS或CSS (Cross Site Script) 。它是指惡意攻擊者往WEB頁面里插入惡意html代碼,當(dāng)用戶瀏覽該頁之時,嵌入其中Web里面的html代碼會被執(zhí)行,從而達(dá)到惡意用戶的特殊目的。它可分為存儲型和反射型兩種跨站腳本攻擊。
1.2.2 跨站腳本攻擊的原理
存儲型跨站腳本攻擊原理:將攻擊代碼提交到服務(wù)器端的數(shù)據(jù)庫或文件系統(tǒng)中,不用構(gòu)造URL,而是保存在文章或論壇帖子中,從而使得訪問該頁面的用戶都有可能受到攻擊。
反射型跨站腳本攻擊原理:在存在XSS漏洞網(wǎng)頁的URL中插入腳本程序構(gòu)造URL,將URL通過郵件等發(fā)送給用戶(釣魚),當(dāng)用戶點擊鏈接時,執(zhí)行攻擊者的腳本,一般是竊取用戶的cookie等個人數(shù)據(jù)、將用戶導(dǎo)向惡意網(wǎng)站等。
1.2.3 跨站腳本攻擊的危害
該攻擊的危害有盜取各類用戶帳號,如網(wǎng)銀、管理員等帳號;欺騙瀏覽器訪問釣魚網(wǎng)站,以騙取賬號密碼等個人信息;將使用者瀏覽器導(dǎo)向惡意網(wǎng)站,向使用者計算機下載并安裝惡意后門程序等。
1.3 網(wǎng)頁掛馬攻擊
1.3.1 網(wǎng)頁掛馬攻擊的定義
網(wǎng)頁掛馬攻擊就是攻擊者通過在正常的頁面中插入一段惡意代碼。若瀏覽者的瀏覽器或瀏覽器加載的組件存在漏洞,那么他在打開該頁面的時候,這段代碼被執(zhí)行,然后下載并運行某木馬的服務(wù)器端程序。
1.3.2 網(wǎng)頁掛馬攻擊的原理
(1)iframe式掛馬:攻擊者利用大小為0的iframe標(biāo)簽,將惡意代碼偷偷加載到網(wǎng)頁中。
(2)JS腳本掛馬:利用js腳本文件調(diào)用惡意代碼。
(3)CSS掛馬:CSS是網(wǎng)頁的樣式文件,攻擊者往往將惡意代碼隱藏至CSS文件中。
(4)ARP掛馬:攻擊者已經(jīng)獲取局域網(wǎng)內(nèi)某臺服務(wù)器的權(quán)限,利用該服務(wù)器實施ARP欺騙攻擊,對局域網(wǎng)內(nèi)其它服務(wù)器而言,它偽裝成網(wǎng)關(guān),對網(wǎng)關(guān)而言,它偽裝成服務(wù)器,這樣它就截獲了其它服務(wù)器與網(wǎng)關(guān)之間的通信,并在HTTP通信的響應(yīng)中插入惡意代碼,這種掛馬方式會影響整個局域網(wǎng),危害巨大。
1.4 其它方式WEB攻擊
1.4.1 信息泄漏
一般通過提交特殊的錯誤參數(shù),WEB服務(wù)器返回特定的詳細(xì)的敏感信息,漏洞成因一般有:WEB程序?qū)﹀e誤處理不嚴(yán)、服務(wù)器配置不當(dāng)、WEB開發(fā)和管理不當(dāng)?shù)取?/p>
1.4.2 社會工程學(xué)
社會工程學(xué)攻擊是指通過搜集攻擊目標(biāo)相關(guān)信息甚至直接與攻擊目標(biāo)相接觸等非技術(shù)的手段實施攻擊的辦法,在收集到攻擊目標(biāo)足夠多的信息時,社會工程學(xué)的能量是十分強大和恐怖的,但卻往往被人忽視。
1.4.3 上傳漏洞
上傳漏洞是指利用上傳功能,繞過上傳文件安全控制,通常方法有:僅本地js安全控制檢測文件格式類型;Content-type判斷繞過;空字節(jié)繞過。
2 WEB攻擊防范
WEB攻擊防范主要通過客戶端加固、WEB漏洞掃描、WEB應(yīng)用防火墻、DDoS防護系統(tǒng)WEB應(yīng)用主機加固、WEB應(yīng)用代碼分析等方法來實現(xiàn)。
2.1 客戶端加固
主要針對XSS、仿冒、網(wǎng)頁木馬等攻擊對客戶端瀏覽器進(jìn)行加固防護。
2.2 WEB漏洞掃描
采用基于規(guī)則的匹配技術(shù),即基于一套基于專家經(jīng)驗事先定義的規(guī)則的匹配系統(tǒng),針對某一具體漏洞,編寫對應(yīng)的外部測試腳本,通過調(diào)用服務(wù)檢測插件,檢測目標(biāo)主機漏洞信息。
2.3 WEB應(yīng)用防火墻
簡稱WAF,工作在應(yīng)用層,對來自WEB應(yīng)用程序客戶端的各類請求進(jìn)行內(nèi)容檢測和驗證,確保其安全性與合法性,對非法的請求將予以實時阻斷,從而對各類網(wǎng)站進(jìn)行有效防護。
2.4 DDoS攻擊防護產(chǎn)品
用以發(fā)現(xiàn)網(wǎng)絡(luò)流量中各種類型的攻擊流量,針對攻擊類型迅速對攻擊流量進(jìn)行攔截,保證正常流量的通過。
2.5 WEB應(yīng)用主機加固
WEB應(yīng)用主機加固工具主要實時截取和分析軟件的執(zhí)行流或交互的協(xié)議流,實時發(fā)現(xiàn)和過濾攻擊。
2.6 WEB應(yīng)用代碼分析
WEB應(yīng)用代碼安全分析軟件,通過對軟件進(jìn)行代碼掃描,可以找出潛在的風(fēng)險,從而對軟件進(jìn)行檢測,提高代碼的安全性。主要通過數(shù)據(jù)流分析、語義分析、結(jié)構(gòu)分析、控制流分析等手段,結(jié)合軟件安全規(guī)則和知識庫,最大程度上降低代碼風(fēng)險。
參考文獻(xiàn)
[1]Web安全測試[M].清華大學(xué)出版社,2010.
[2]SQL注入攻擊與防御(第2版)[M].北京:清華大學(xué)出版社,2013.
[3]黑客Web腳本攻擊與防御技術(shù)核心剖析[M].北京:科學(xué)出版社,2010.
作者單位
66471部隊工程師 內(nèi)蒙古自治區(qū)呼和浩特市 010050