CSRF 跨站冒名請求

CSRF 就是
Cross Site Request Forgery 跨站冒名請求

稍微跟 XSS 有點像
CSRF 主要是利用已經登入的使用者去執行一些特定的 url 連結

例如下面這個連結:
http://xxxx.com/users/11222333/posts/1345/delete

如果網站的本身 url 是這樣設計
那故意讓 11222333 這個使用者觸擊這個連結(偽裝成一張會想點的連結或圖之類的)
因為使用者本來就有做這件事的權限
就可以利用使用者自己把 1345 這篇 posts 給 delete 刪除掉

這個攻擊的強度就是可以做到該使用者本身能在網站上做的任何事情

防範的方式:

  • 驗證一個伺服器才能驗證的 token
  • 少用 GET 為主的傳輸方式

現在的主流就是用驗證 token 的方式
在登入的時候產生一個 token
只要在delete 的那個步驟
用一個

<input type="hidden" value="" />

把 token 放進value 裡面送進伺服器進行驗證
就能知道是不是從本站進行的操作了

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s