網絡安全方面學習筆記(1)
2020/05/24 add CSRF SSRF
CSRF & SSRF
references:
那麼其實對於 CSRF XSS 等常見問題很早就進行過總結,今次引入 SSRF 再進行一次合理的彙總
XSS Cross Site Scripting
利用的是 用戶對指定網站的信任
CSRF Cross Site Request Forgery
Cross Site Request Forgery (CSRF)
利用的是 網站對於用戶瀏覽器的信任
簡介
當用戶在安全網站A登錄後保持登錄的狀態,並在此時瀏覽了保存有惡意代碼的另一個網站B。此時B站劫持用戶的瀏覽器並以用戶以登錄的狀態對A站發送非用戶本人的操作。
當服務端沒有對這次請求驗證的情況下,將這次操作作爲可信任的用戶的操作。
防禦措施
-
增加驗證碼機制,增加帶有大量噪點的驗證碼,杜絕代碼能夠識別的簡單驗證碼,當然了也經常被繞過
-
驗證referer,採用同源政策,referer記錄着數據包的來源地址,來判斷請求的合法性,但是這個可以僞造
-
使用Token,令牌是一種將表單value的加密算法生成不同的加密結果,在服務器端進行驗證。
-
在訪問登錄過一個網站,點擊退出賬戶。
SSRF Server-side request forgery
Server-side request forgery (SSRF)
有的大型網站在web應用上提供了從其他服務器獲取數據的功能。允許用戶用指定的URL web應用獲取圖片,下載文件,讀取文件內容。攻擊者利用有缺陷的web應用作爲代理攻擊遠程和內網的服務器(跳板)
防禦措施
- 過濾返回信息,驗證遠程服務器對請求的響應是比較容易的方法。如果web應用是去獲取某一種類型的文件。那麼在把返回結果展示給用戶之前先驗證返回的信息是否符合標準。
- 統一錯誤信息,避免用戶可以根據錯誤信息來判斷遠端服務器的端口狀態。
- 限制請求的端口爲http常用的端口,比如,80,443,8080,8090。
- 黑名單內網ip。避免應用被用來獲取獲取內網數據,攻擊內網。
- 禁用不需要的協議。僅僅允許http和https請求。可以防止類似於file:///,gopher://,ftp:// 等引起的問題。