常見Web安全漏洞(二)

兩篇文章帶你瞭解幾種常見的Web安全攻防,但願能幫到想要了解Web安全的你。html

本文是第二篇,若是你尚未閱讀 常見的Web安全攻防(一),建議閱讀以後,再繼續閱讀本文。web

1、點擊劫持

攻擊者使用一個或多個透明的iframe 覆蓋在一個正常的網頁上,而後誘使用戶在該網頁上進行操做,當用戶在不知情的狀況下點擊透明的iframe 頁面時,用戶的操做已經被劫持到攻擊者事先設計好的惡意按鈕或連接上。數據庫

舉個簡單的例子:後端

我想讓本身掘金的關注人數變多。我先作一個網站,放滿了各類免費的學習資料,寫着醒目的點擊免費下載。而後把掘金經過iframe的方式引入,經過一些樣式的操做,使掘金的關注按鈕透明的覆蓋在這些學習資料上方。當用戶點擊下載的時候,其實點擊的是個人掘金主頁的關注。瀏覽器

** 點擊劫持的特色就是有很強的隱蔽性,同時絕大部分的點擊劫持都是使用一些美女圖片或者黃色小視頻來誘惑你們點擊。因此不訪問不良網站,少點擊不明連接能夠很大程度減小點擊劫持的攻擊。 **安全

如何防護?

1. X-FRAME-OPTIONS

X-Frame-Options HTTP 響應頭是用來給瀏覽器 指示容許一個頁面 能否在 , , 或者 中展示的標記。站點能夠經過確保網站沒有被嵌入到別人的站點裏面,從而避免 clickjacking 攻擊。 服務器

該響應頭有三個參數:markdown

參數 說明
deny 表示該頁面不容許在 frame 中展現,即使是在相同域名的頁面中嵌套也不容許。
sameorigin 表示該頁面能夠在相同域名頁面的 frame 中展現。
allow-from uri 表示該頁面能夠在指定來源的 frame 中展現。

2.瀏覽器和擴展

儘可能保持最新的瀏覽器等級能及時享受一些瀏覽器升級帶來的安全保護。使用一些擴展也能幫助咱們避免不少攻擊。好比 NoScript 中 ClearClick 組件可以檢測和警告潛在的點擊劫持攻擊,自動檢測頁面中可能不安全的頁面。oop

2、URL跳轉漏洞

服務端未對傳入的跳轉url變量進行檢查和控制,可能致使可惡意構造任意一個惡意地址,誘導用戶跳轉到惡意網站。post

因爲是從可信的站點跳轉出去的,用戶會比較信任,因此跳轉漏洞通常用於釣魚攻擊,經過轉到惡意網站欺騙用戶輸入用戶名和密碼盜取用戶信息,或欺騙用戶進行金錢交易。

黑客利用URL跳轉漏洞來誘導安全意識低的用戶點擊,致使用戶信息泄露或者資金的流失。其原理是黑客構建惡意連接(連接須要進行假裝,儘量迷惑),發在QQ羣或者是瀏覽量多的貼吧/論壇中。 安全意識低的用戶點擊後,通過服務器或者瀏覽器解析後,跳到惡意的網站中。

如何防護?

1.referer限制

若是肯定傳遞URL參數進入的來源,咱們能夠經過該方式實現安全限制,保證該URL的有效性,避免惡意用戶本身生成跳轉連接。

2.加入有效性驗證Token

咱們保證全部生成的連接都是來自於咱們可信域的,經過在生成的連接里加入用戶不可控的Token對生成的連接進行校驗,能夠避免用戶生成本身的惡意連接從而被利用,可是若是功能自己要求比較開放,可能致使有必定的限制。

3、SQL注入

SQL注入便是指web應用程序對用戶輸入數據的合法性沒有判斷或過濾不嚴,攻擊者能夠在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,在管理員不知情的狀況下實現非法操做,以此來實現欺騙數據庫服務器執行非受權的任意查詢,從而進一步獲得相應的數據信息。

如何防護?

1.權限最小化

嚴格限制Web應用的數據庫的操做權限,給此用戶提供僅僅可以知足其工做的最低權限,從而最大限度的減小注入攻擊對數據庫的危害。

2.字符轉義

對進入數據庫的特殊字符(',",,<,>,&,*,; 等)進行轉義處理,或編碼轉換。

3.檢測數據

後端能夠利用正則等手段判斷數據的輸入是否符合預期。這個也在很大程度上阻止了SQL注入攻擊。

參考網址

developer.mozilla.org/zh-CN/docs/…

www.cnblogs.com/fundebug/p/…

huaidan.org/archives/20…

相關文章
相關標籤/搜索