常見的XSS攻擊、SQL注入、CSRF攻擊等攻擊方式和防御手段,這些都是針對代碼或系統(tǒng)本身發(fā)生的攻擊,另外還有一些攻擊方式發(fā)生在網絡層或者潛在的攻擊漏洞在這里也總結一下。
一、DOS/DDOS攻擊
DOS攻擊不是說攻擊DOS系統(tǒng),或者通過DOS系統(tǒng)攻擊。
DOS攻擊全稱為Denial of service,即拒絕服務,其主要攻擊目的是使計算機硬件或網絡寬帶資源耗盡從而造成服務器無法提供正常服務,而DDOS攻擊就是Distributed denial of service,即分布式的拒絕服務攻擊,攻擊者利用多臺服務器資源對同一個目標服務器發(fā)起攻擊,從而使目的服務器快速陷入崩潰。
不管是DOS還是DDOS,它們的本質都是通過各種手段消耗目標服務器資源,從而使目標服務器癱瘓不能接受用戶的服務。
一般租用服務器資源都是有web應用防火墻能阻止dos攻擊的,如果是自己的服務器需要專業(yè)的運維人員對服務器進行相關設置以防止DOS攻擊。
二、DNS攻擊
DNS攻擊包括有DNS劫持和DNS污染。
DNS劫持即通過某種手段控制DNS服務器,篡改域名真實的解析結果,并返回攻擊者的ip地址,從而跳到了攻擊者的頁面。像我們寬帶快到期了或者有什么推廣信息,電信總會彈出一個營銷界面提示我們寬帶快到期了或者什么活動的,這其實就是運營商DN劫持搞的鬼。像在我們本地,也經常會配置host文件以開發(fā)測試聯(lián)調,或者訪問那些訪問不了你又想訪問的網址。
防止DNS劫持可以用國外知名的DNS服務器,像google的8.8.8.8,或者準備兩個域名,一個被劫持了引導用戶去訪問另一個。
DNS污染發(fā)生在請求DNS解析前第一步,直接在協(xié)議上對DNS解析請求進行干擾,因為DNS查詢是基于不可靠無連接的UDP協(xié)議,它是沒有經過認證的,很容易被篡改,所以攻擊者通過在UDP的53端口進行DNS查詢檢測,并返回攻擊者錯誤的解析結果給用戶,這就是DNS污染。
DNS污染可以通過自己搭建DNS服務器,采用TCP加密的形式,但可能延遲比較大。
三、網頁注釋
為了開發(fā)或聯(lián)調的便利性,我們經常在代碼使用注釋,某些注釋可能包括重要信息,給攻擊者以可乘之機,所以這個最好養(yǎng)成良好的習慣及時刪除敏感的注釋或者開發(fā)完成對代碼進行審視。
四、文件上傳
一般的網站都會有文件上傳功能,如人才網就會有包括用戶的頭像、簡歷附件什么的,如果攻擊者上傳一個.exe可執(zhí)行程序到服務器,那么這個執(zhí)行程序很有可能操控這個服務器,或者通過這個服務器間接攻擊其他內部服務器群,后果是十分嚴重的。
所以,針對上傳功能要限制用戶可上傳的文件類型,比如頭像肯定是jpg等圖片格式;文件最好分開存儲,一是能提高系統(tǒng)性能,二是就算攻擊者攻擊了文件服務器也不一定能攻擊到別的服務器;另外,存儲采用重命名方式,像QQ之間傳送文件一般會在文件名后面加上一個".重命令"后綴,就是為了防止用戶點擊.exe文件造成病毒攻擊。