關於Web安全的理解

最近在學習web安全相關的一些知識,目前對web安全也只有了一些淺顯的理解,下面記錄我的一些理解。
因爲對這一塊懂的東西不是很多,有些地方可能寫的不對或者不夠全,所以歡迎大家給點問題和建議。

目前只看了三種攻擊方式
一.XSS跨站腳本攻擊
二.sql注入
三.CSRF跨站請求僞造

一.XSS跨站腳本攻擊

反射型XSS攻擊
此種攻擊通俗點講,就是在用戶輸入的地方,輸入一些惡意的腳本,通常是textarea,然後通過某種方式立即執行,然後獲取到一些想要得到的信息,比如cookie等,然後發送到自己的服務器。(沒有想到具體哪些案例會立即執行)
此種攻擊的解決方案一般是在用戶輸入的地方做一些過濾,過濾掉這一部分惡意腳本。
存儲型XSS攻擊
此種攻擊通俗點講,就是在用戶輸入的地方,輸入一些惡意的腳本,通常是富文本編輯器或者textarea等地方,然後在讀取富文本的時候,如果沒有做過濾和限制,就會直接執行用戶輸入的惡意腳本。存儲型說的就是數據會存儲到服務器或者數據庫。
此種攻擊的解決方案和上面一樣,在用戶輸入的地方做一些過濾,過濾掉這一部分惡意腳本。
dom型XSS攻擊
dom型XSS攻擊也是在用戶輸入的地方輸入一些腳本,不同的是這個腳本可能直接就在客戶端執行,不經過服務器。

xss攻擊基本是在用戶輸入的地方輸入一些惡意腳本,已達到以下的目的:

  1. 獲取cookie等一些重要的信息
  2. 插入一些js或者css修改和破壞頁面結構
  3. 執行某段js,使頁面跳轉到其他頁面

基本的防禦方法就是在用戶輸入的地方或者顯示的地方:

  1. 過濾危險節點,如script,style,link,iframe等
  2. 過濾一些危險的屬性,如href,src等
  3. 對cookie設置httpOnly

二.CSRF攻擊

關於CSRF攻擊的知識,我是看了這篇博客的Web安全之CSRF攻擊,個人覺得這篇文章還不錯,簡單清晰明瞭。
我個人感覺CSRF攻擊和XSS攻擊有點類似,也是在用戶輸入的地方輸入一些腳本,比如一個圖片,在圖片的src里加上某個地址,當頁面再次載入這個輸入的內容的時候,就會發送請求,從而達到某種目的。
CSRF攻擊和xss有點類似,不一樣的是,CSRF冒充用戶在站內做一些正常的操作,如關注某個人等,而XSS則是獲取一些信息,做一些惡意的操作等,其實具體的區別我也不是很理解,有機會的話再繼續深入探究一下。
防禦CSRF攻擊的方法主要是:

  1. 修改數據的接口,儘量使用post請求
  2. 使用cookie同源策略

推薦的文章Web安全之CSRF攻擊其實還講了其他的幾種方法,但是都沒接觸過,不太理解,所以沒有寫下來。

三.SQL注入

我之前寫過一個獲取微信小程序碼的接口,該接口對外開放沒有做任何限制,然後根據一些參數創建文件夾和文件名等信息,發現經常會有一些SELECT開頭的文件夾和文件,SQL注入應該就是傳入的參數裏面帶有SQL語句,後面我加了一些過濾和判斷就沒有出現過了。
防禦的主要措施就是:

  1. 對用戶輸入的內容進行校驗和過濾
  2. 不要動態拼接SQL語句
  3. 不要使用管理員權限連接數據庫
  4. 敏感字段要進行MD5加密
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章