隨著學習的深入,已經不僅僅只滿足於編寫前端的**,把乙個事情的問題看到更多更深遠的地方去,慢慢了解網路訪問的安全問題,勢在必行。
學習資料內容,基本從書本上獲取,結合自己的理解,闡述出來,總結,在開始學習安全問題之前,我們必須先要了解,為什麼會會有安全問題產生
頁面輸入url
瀏覽器會通過url尋找到dns伺服器
根據dns伺服器找到ip位址
根據ip位址訪問到我們伺服器中(現在一般是nginx)
nginx設定安全訪問以及過濾請求到我們伺服器中的檔案
後台**響應url的請求(頁面就返回檔案,請求返回相應的內容)
頁面渲染
從頭開始理解http吧
頁面輸入url之後,通過特殊的方法(這裡不詳細描述)將原網域名稱的dns解析權弄到手,修改掉原先的ip位址,將dns指向攻擊者的ip位址
預防啟用備用網域名稱,當其中乙個網域名稱被劫持之後,使用備用網域名稱
手動修改dns,將其改為114.114.114.114,備用dns伺服器改為8.8.8.8
修改瀏覽器的登入密碼
將dns轉為http dns解析
一般是響應html的請求時候,運營商進行挾持,嵌入廣告然後用iframe返回原**內容,即在http傳輸過程中,篡改響應體
預防使用https協議,保證我們的伺服器能夠確保接收到請求
union注入攻擊
能夠形成union注入攻擊的條件
where 條件後面可帶字串,如:id=1與id=1`返回不同的結果
介面請求能夠返回資料庫資料
union注入攻擊的方式
通過orderby來獲取字段數
在搜尋條件之後寫上union(select 1,2,3【字段長度】)獲取可輸入的位置
在可輸入sql語句的位置輸入database(),獲取資料庫名稱
然後通過資料庫名稱,來獲取表名稱
最後通過表名稱,獲取欄位名稱,並新增資料或者修改資料
防範方式
嚴格監控傳入的資料,避免輸入內容存在特殊值
前端沒辦法控制這個方案,只能在頁面上控制,如果單獨拎出來介面進行除錯,那只能靠後端對資料進行驗證
boolean注入攻擊
構造sql判斷語句,通過返回結果判斷哪些條件是成立的,以及獲取資料庫中的資料
形成boolean注入攻擊的條件
返回的結果一直為yes or no , 不返回資料庫資料
boolean注入的攻擊方式
輸入 leagth(database())>=nums
不斷的判斷長度之後,然後確認長度,在逐字進行判斷使用substr方法
通過類似的方法,判斷出資料庫中的表名跟欄位名
防範方式
同樣的,需要處理輸入內容,發現異常字串,直接返回錯誤或者禁止訪問
一種針對**應用程式的安全漏洞攻擊技術,是**注入的一種。它允許惡意使用者將**注入頁面,其他使用者在瀏覽網頁時會受到影響。xss攻擊分為3中,反射型xss、儲存型xss、dom型xss
反射型xss
攻擊者會通過各種方式傳送包含xss**的鏈結,然後使用者開啟鏈結並輸入其內容之後,服務端會返回包含xss**的惡意指令碼,並觸發。
儲存型xss
dom型xss
實際上也屬於反射型xss,使用dom物件去處理xss**,攻擊者將專門設計過的url傳送給使用者,使用者開啟鏈結,瀏覽器就相應其中的xss**,多出現在資料初始化階段
預防過濾輸入的資料,包括各種危險符號
對輸出的頁面的資料進行相應的編碼轉換
攻擊前提
預防驗證請求的referer值
登入後隨機產生乙個token,請求的時候帶上token
還有很多其他的攻擊方式,大多數都是屬於後端服務保護範疇,對於前端的保護,鑑於理解這麼些攻擊方式,我覺得差不多了。畢竟對於前端來說,這些攻擊很多都是能夠直接繞過前端**進行的
網際網路時代還需要看書嗎?
羅胖提到,過去做學問,就是下苦工,花上幾年乃至幾十年時間,把幾十上百本的書看完吃透,就有可能成為大家。但是,在現在這樣的資訊 時代,這樣做已經不可能了。因此,羅胖提出乙個觀點,就是以問題為中心,不斷提出問題,然後通過有目的 有針對性地閱讀,去解決這個問題。解決過程中不斷產生新的問題,迴圈往復。這樣看...
網際網路時代還需要看書嗎?
羅胖提到,過去做學問,就是下苦工,花上幾年乃至幾十年時間,把幾十上百本的書看完吃透,就有可能成為大家。但是,在現在這樣的資訊 時代,這樣做已經不可能了。因此,羅胖提出乙個觀點,就是以問題為中心,不斷提出問題,然後通過有目的 有針對性地閱讀,去解決這個問題。解決過程中不斷產生新的問題,迴圈往復。這樣看...
企業網路安全新時代的應對策略
資訊科技的步伐正在挑戰傳統觀念 到底it是什麼?如今這個時代資訊保安是什麼概念?舉例來說,新的資料中心技術,如虛擬化 軟體定義網路 sdn 面向服務的交付模型 以及雲計算等都已從根本上改變了典型的it基礎設施,即從一組被企業控制和定義的資產,變成了能夠在it部門之間不斷往返波動的資源。這些改變的發生...