
常見的網站攻擊方式有哪些?
1. Dos拒絕服務攻擊
介 紹:Dos拒絕服務攻擊(Denial of Service attack)是一種能夠讓服務器呈現(xiàn)靜止狀態(tài)的攻擊方式。其原理就是發(fā)送大量的合法請求到服務器,服務器無法分辨這些請求是正常請求還是攻擊請求,所以 會照單全收。海量的請求造成服務器進入停止工作或拒絕服務的狀態(tài)。
DDOS分布式拒絕服務攻擊 (Distributed Denial of Service)就是在DOS攻擊基礎上借助公共網絡,將大數量的計算機設備聯(lián)合起來,向一個或多個目標發(fā)送大量請求使使服務器癱瘓。DDoS攻擊可以針 對網絡通訊協(xié)議的各層,大致有:TCP類的SYN Flood、ACK Flood,UDP類的Fraggle、Trinoo,DNS Query Flood,ICMP Flood,Slowloris類。CC攻擊也是DDOS攻擊的一種形式。
防 御:DDoS 防御的技術核心是檢測技術和清洗技術。檢測技術就是檢測網站是否正在遭受 DDoS 攻擊,而清洗技術就是清洗掉異常流量。而檢測技術的核心在于對業(yè)務深刻的理解,才能快速精確判斷出是否真的發(fā)生了 DDoS 攻擊。清洗技術對檢測來講,不同的業(yè)務場景下要求的粒度不一樣。
2. CSRF跨站點請求偽造
介 紹:CSRF跨站點請求偽造(Cross-Site Request Forgeries)是指攻擊者通過已經設置好的陷阱,強制對已完成認證的用戶進行非預期的個人信息狀態(tài)更新,屬于被動攻擊。更簡單的理解就是攻擊者盜用 了你的名義,以你的名義發(fā)送了其他請求。JSON 劫持(JSON Hijacking)是用于獲取敏感數據的一種攻擊方式,也屬于 CSRF 攻擊的范疇。
防御:1)將cookie設置為HttpOnly。CSRF攻擊很大程度是利用了瀏覽器的cookie,為了防止站內XSS漏洞,cookie設置HttpOnly屬性,JS腳本就無法讀取到cookie中的信息,避免攻擊者偽造cookie的情況出現(xiàn)。
2) 增加token。CSRF攻擊之所以成功,主要是攻擊中偽造了用戶請求,而用戶請求的驗證信息都在cookie中,攻擊者就可以利用cookie偽造請求 通過安全驗證。因此抵御CSRF攻擊的關鍵就是,在請求中放入攻擊者不能偽造的信息,并且信息不在cookie中。鑒于此,開發(fā)人員可以在http請求中 以參數的形式加一個token,此token在服務端生成,也在服務端校驗,服務端的每次會話都可以用同一個token。如果驗證token不一致,則認 為是CSRF攻擊,拒絕請求。
3)通過Referer識別。Http頭中有一個字段Referer,它記錄了Http請求來源地址。但是注意不要把Rerferer用在身份驗證或者其他非常重要的檢查上,因為Rerferer非常容易在客戶端被改變。
3. SOL注入攻擊
介紹:SOL注入攻擊是攻擊者成功地向服務器提交惡意的SQL查詢代碼,程序在接收后錯誤的將攻擊者的輸入作為查詢語句的一部分執(zhí)行,導致原始的查詢邏輯被改變,額外的執(zhí)行了攻擊者精心構造的惡意代碼。
舉 例:’ OR ‘1’=‘1,這是最常見的 SQL注入攻擊。當我們輸入用戶名 admin ,然后密碼輸入’ OR ‘1’=1=‘1的時候,我們在查詢用戶名和密碼是否正確的時候,本來要執(zhí)行的是SELECT * FROM user WHERE username=’’ and password=’’,經過參數拼接后,會執(zhí)行 SQL語句 SELECT * FROM user WHERE username=’’ and password=’’ OR ‘1’=‘1’,這個時候1=1是成立,自然就跳過驗證。
防 御:對進入數據庫的特殊字符(’"
4. XSS跨站腳本攻擊
介 紹:XSS跨站腳本攻擊(Cross-Site scripting)是指在通過注冊的網站用戶的瀏覽器內運行非法的HTML標簽或javascript,從而達到攻擊的目的,如盜取用戶的 cookie,改變網頁的DOM結構,重定向到其他網頁等。XSS攻擊分類包含反射性,存儲型,DOM型,F(xiàn)LASH。
防御:堅決不要相信用戶的任何輸入,并過濾掉輸入中的所有特殊字符。這樣就能消滅絕大部分的XSS攻擊。主要有兩種方式:過濾特殊字符和使用HTTP頭指定類型。
5.文件上傳漏洞
介紹:倘若web網站沒有對文件類型進行嚴格的校驗,導致可執(zhí)行文件上傳到了服務器,惡意程序就會執(zhí)行。
防御:客戶端檢測 :程序員一般使用 JavaScript 來拒絕非法文件上傳。
服務器端檢測:
1)白名單與黑名單驗證:定義不允許或允許上傳的文件擴展名;
2)MIME驗證:php 中通過 $_FILE[‘file’][‘type’] 來檢驗;
3)目錄驗證:在文件上傳時,程序通常允許用戶將文件放到指定的目錄中,如果指定的目錄存在,就將文件寫入目錄中。
6. DNS查詢攻擊
介紹:DNS查詢攻擊(DNS Query Flood)是向被攻擊的服務器發(fā)送海量的隨機生成的域名解析請求,大部分根本就不存在,并且通過偽造端口和客戶端IP,防止查詢請求被ACL過濾。
被攻擊的DNS服務器在接收到域名解析請求后,首先會在服務器上查找是否有對應的緩存,當沒有緩存并且該域名無法直接由該DNS服務器進行解析的時候,DNS服務器會向其上層DNS服務器遞歸查詢域名信息,直到全球互聯(lián)網的13臺根DNS服務器。
大量不存在的域名解析請求,給服務器帶來了很大的負載,當解析請求超過一定量的時候,就會造成DNS服務器解析域名超時,這樣攻擊者便達成了攻擊目的。
防 御:根據域名 IP 自學習結果主動回應,減輕服務器負載(使用 DNS Cache);對突然發(fā)起大量頻度較低的域名解析請求的源 IP 地址進行帶寬限制;在攻擊發(fā)生時降低很少發(fā)起域名解析請求的源 IP 地址的優(yōu)先級;限制每個源 IP 地址每秒的域名解析請求次數。
7.暴力破解
介紹:這個一般針對密碼而言,弱密碼(Weak Password)很容易被別人猜到或被破解工具暴力破解。
防御:防御方法主要有兩種,其一密碼復雜度要足夠大也要足夠隱蔽,其二限制嘗試次數。
8.信息泄露
介紹:由于 Web 服務器或應用程序沒有正確處理一些特殊請求,泄露 Web 服務器的一些敏感信息,如用戶名、密碼、源代碼、服務器信息、配置信息等。
防御:敏感信息加密傳輸;應用程序報錯時,不對外產生調試信息;過濾用戶提交的數據與特殊字符;保證源代碼、服務器配置的安全。
9.業(yè)務漏洞
介紹:業(yè)務漏洞是跟具體的應用程序相關,比如參數篡改(連續(xù)編號 ID / 訂單、1 元支付)、重放攻擊(偽裝支付)、權限控制(越權操作)等。
防御:系統(tǒng)設計階段就需要考慮業(yè)務漏洞的問題,盡量避免連續(xù)編號、越權操作等。
10.后門程序
介 紹:后門程序一般是指那些繞過安全性控制而獲取對程序或系統(tǒng)訪問權的程序方法。在軟件的開發(fā)階段,程序員常常會在軟件內創(chuàng)建后門程序以便可以修改程序設計 中的缺陷。但是如果這些后門被其他人知道,或是在發(fā)布軟件之前沒有刪除后門程序,那么它就成了安全風險,容易被黑客當成漏洞進行攻擊。
防御:使用非對稱后門接口進行軟件更新,避免對稱后門接口, 給后端程序加殼,更新去除后門的補丁程序。
北京星誠視野網絡科技有限公司 © 2008-2022 京ICP備09003513-1號 技術支持:北京網站建設公司 北京APP開發(fā)