iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 11
2
Security

資安這條路─以自建漏洞環境學習資訊安全系列 第 11

資安這條路 11 - [Injection] Cross-site request forgery ( CSRF )

  • CSRF 跨網站請求
    • 我們已經登入網站後,並取得 Cookie
      • Request:/login --> Response:set-cookie:sessionid=2fethkho
    • 駭客透過釣魚網站或釣魚信件誘使受害者點擊瀏覽
    • 受害者送出非經自身意願的請求
  • 影響與危害
  • CSRF 達成條件
    • 目的:這個功能是駭客可以利用的,比如修改帳號的信箱,改成駭客的信箱,或是修改密碼,這些都以便於駭客可以掌控該帳號。
    • Cookie:這個功能只有透過 Cookie 進行驗證,沒有其他驗證的條件,如二階段驗證。
    • 參數:這個功能所使用的表單,都是駭客事先得知的。
    • 達到以上三個條件,可能就會有 CSRF 的攻擊。

防護方式

  • CSRF Token + 驗證 Referer
  • 後端驗證 Referer 請求來自的位置是否合法

LAB 練習

  • 我們透過 JavaScript 讓受害者瀏覽網頁的時候就送出修改信箱的封包。
    <form method="post" action="可以修改信箱的網址">
         <input type="hidden" name="email" value="email@gmail.com">
    </form>
    <script>
          document.forms[0].submit();
    </script>
    
  • 如果後端在 POST 表單塞入 CSRF TOKEN,但其實可以允許 GET 的方法

上一篇
資安這條路 10 - [跨站腳本漏洞] Store XSS , Relate XSS , DOM XSS
下一篇
資安這條路 12 - [Injection] Server-side request forgery (SSRF)
系列文
資安這條路─以自建漏洞環境學習資訊安全31

尚未有邦友留言

立即登入留言