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