網路安全——常見的幾種WEB攻擊:
1.XSS攻擊:指的是跨指令碼攻擊,指的是攻擊者在網頁中巢狀,惡意指令碼程式,當使用者開啟網頁時,程式開始在瀏覽器上啟動,盜取使用者的cooks,從而盜取密碼等資訊,下載執行木馬程式。
解決方法:XSS之所以會發生,是因為使用者輸入的資料變成了程式碼。因此,我們需要對使用者輸入的資料進行HTML轉義處理,將其中的“尖括號”、“單引號”、“引號” 之類的特殊字元進行轉義編碼。
2.CSRF攻擊:CSRF攻擊的全稱是跨站請求偽造(cross site request forgery), 是一種對網站的惡意利用,你可以這麼理解CSRF攻擊:攻擊者盜用了你的身份,以你的名義向第三方網站傳送惡意請求。CRSF能做的事情包括利用你的身份發郵件、發簡訊、進行交易轉賬等等,甚至盜取你的賬號。
解決方法:
cookie設定為HttpOnly
CSRF攻擊很大程度上是利用了瀏覽器的cookie,為了防止站內的XSS漏洞盜取cookie,需要在cookie中設定"HttpOnly"屬性,這樣通過程式(如JavascriptS指令碼、Applet等)就無法讀取到cookie資訊,避免了攻擊者偽造cookie的情況出現。
通過Referer識別
根據HTTP協議,在HTTP頭中有一個欄位叫Referer,它記錄了該HTTP請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求都來自於同一個網站。
與XSS攻擊的區別:儘管聽起來跟XSS跨站指令碼攻擊有點相似,但事實上CSRF與XSS差別很大,XSS利用的是站點內的信任使用者,而CSRF則是通過偽裝來自受信任使用者的請求來利用受信任的網站。
3.SQL隱碼攻擊:所謂SQL隱碼攻擊,就是通過把SQL命令偽裝成正常的HTTP請求引數,傳遞到服務端,欺騙伺服器最終執行惡意的SQL命令,達到入侵目的。攻擊者可以利用SQL隱碼攻擊漏洞,查詢非授權資訊, 修改資料庫伺服器的資料,改變表結構,甚至是獲取伺服器root許可權。總而言之,SQL隱碼攻擊漏洞的危害極大,攻擊者採用的SQL指令,決定攻擊的威力。當前涉及到大批量資料洩露的攻擊事件,大部分都是通過利用SQL隱碼攻擊來實施的
解決方法:使用預編譯語句
預編譯語句PreparedStatement是java.sql中的一個介面,繼承自Statement介面。通過 Statement物件執行SQL語句時,需要將SQL語句傳送給DBMS,由DBMS先進行編譯後再執行。而預編譯語句和Statement不同,在建立PreparedStatement物件時就指定了SQL語句,該語句立即傳送給DBMS進行編譯,當該編譯語句需要被執行時,DBMS直接執行編譯後的SQL語句,而不需要像其他SQL語句那樣首先將其編譯。
預編譯語句使用引數佔位符來替代需要動態傳入的引數,這樣攻擊者無法改變SQL語句的結構,SQL語句的語義不會發生改變,即便使用者傳入類似於前面' or '1'='1這樣的字串,資料庫也會將其作為普通的字串來處理。
使用ORM框架
由上文可見,防止SQL隱碼攻擊的關鍵在於對一些關鍵字元進行轉義,而常見的一些ORM框架,如 ibatis、hibernate等,都支援對相應的關鍵字或者特殊符號進行轉義,可以通過簡單的配置, 很好的預防SQL隱碼攻擊漏洞,降低了普通的開發人員進行安全程式設計的門檻
通過#符號配置的變數,ibatis能夠對輸入變數的一些關鍵字進行轉義,防止SQL隱碼攻擊。
避免密碼明文存放
對儲存的密碼進行單向Hash,如使用MD5對密碼進行摘要,而非直接儲存明文密碼,這樣的好處就是萬一使用者資訊洩露,即圈內所說的被“拖庫”,黑客無法直接獲取使用者密碼,而只能得到一串跟密碼相差十萬八千里的Hash碼。
處理好相應的異常
後臺的系統異常,很可能包含了一些如伺服器版本、資料庫版本、程式語言等等的資訊,甚至是資料庫連線的地址及使用者名稱密碼,攻擊者可以按圖索驥,找到對應版本的伺服器漏洞或者資料庫漏洞進行攻擊,因此,必須要處理好後臺的系統異常,重定向到相應的錯誤處理頁面,而不是任由其直接輸出到頁面上。
4.檔案上傳漏洞:檔案上傳的時候,沒有對於檔案的型別進行處理,從而導致攻擊者上傳了一些惡意的指令碼程式,從而達到攻擊的目的。
5.DDos漏洞:分散式拒絕服務攻擊:
6.DNS Query Flood攻擊:採用的方法是向被攻擊的伺服器傳送海量的域名解析請求,通常,請求解析的域名是隨機生成,大部分根本就不存在,並且通過偽造埠和客戶端IP,防止查詢請求被ACL過濾。被攻擊的DNS伺服器在接收到域名解析請求後,首先會在伺服器上查詢是否有對應的快取, 由於域名是隨機生成的,幾乎不可能有相應的快取資訊,當沒有快取,並且該域名無法直接由該DNS伺服器進行解析的時候,DNS伺服器會向其上層DNS伺服器遞迴查詢域名資訊,直到全球網際網路的13臺根DNS伺服器。大量不存在的域名解析請求,給伺服器帶來了很大的負載,當解析請求超過一定量的時候,就會造成DNS伺服器解析域名超時,這樣攻擊者便達成了攻擊目的
7.CC攻擊:CC攻擊的原理是這樣的,攻擊者通過控制的大量“肉雞”或者利用從網際網路上搜尋的大量匿名的HTTP代理,模擬正常使用者給網站發起請求直到該網站拒絕服務為止。大部分網站會通過CDN以及分散式快取來加快服務端響應,提升網站的吞吐量,而這些精心構造的HTTP請求往往有意避開這些快取,需要進行多次DB查詢操作或者是一次請求返回大量的資料,加速系統 資源消耗,從而拖垮後端的業務處理系統,甚至連相關儲存以及日誌收集系統也無法倖免。
相關文章
- 伺服器常碰見的幾種網路攻擊伺服器
- 幾種常見的DDOS攻擊應對策略
- 網路安全攻擊方式有幾種?常見型別介紹!型別
- 【網路安全】7種網路攻擊手段,你知道幾個?
- WEB常見的攻擊方式Web
- 常見的網路攻擊型別型別
- 網路安全領域10種常見的網站安全攻擊手段,你知道幾個?網站
- 瞭解常見網路攻擊方式,做好網路安全防範!
- 什麼是網路攻擊?常見的網路攻擊手段有哪些?
- 常見的網路攻擊行為2
- 如何應對app或者網站常見的幾種攻擊型別APP網站型別
- 網路安全中ARP攻擊最常見的七種方法!
- 5種常見的黑客攻擊手段,你知道幾個?黑客
- windows網路安全介紹以及常見網路攻擊方式解讀Windows
- 推薦5種常見的木馬攻擊型別!網路安全入門必看型別
- 常見網路攻擊:XSS 篇
- web常見攻擊總結Web
- 7種常見的無線網路攻擊型別詳解!型別
- 盤點無線網路攻擊常見的10種型別!型別
- 常見的網路安全防禦體系有幾種?網路安全入門
- 【網路安全分享】APT攻擊常用的4種攻擊手段!APT
- 常見網路安全威脅及攻擊型別介紹!型別
- 常見網路攻擊的方法與服務
- 網路安全SQL隱碼攻擊型別分為幾種?SQL型別
- 常見的5種網路釣魚攻擊型別及防禦措施!型別
- 三種使用AI攻擊網路安全的方法AI
- 常見網路攻擊有哪些?如何防禦?
- 8種常見的駭客攻擊技術
- 網站有幾種常見的指令碼型別?網路安全學習網站指令碼型別
- 網路安全常見面試題-Web方向面試題Web
- 【推薦】最常見的5種網路攻擊型別!型別
- 常見web攻擊型別有哪些?如何預防及防範web攻擊?Web型別
- 最常見的 10種網路安全攻擊型別型別
- web常見的攻擊方式有哪些?如何防禦?Web
- 網路釣魚攻擊常見手段及防範措施!
- 常見網路釣魚攻擊有哪些?如何識別?
- 網路安全中最常見的DNS攻擊型別介紹!DNS型別
- 幾種常見網路抓包方式介紹