1. 程式人生 > >CTF【每日一題20160614】

CTF【每日一題20160614】

—————問題與答案的分界線——————
分析:
題目上沒有什麼價值資訊,果斷看網頁原始碼。發現中間有一段指令碼:

......
<input type="password" name="password" id="password" class="txtbox pwdbox            radius" required="true" title="請填寫通關密碼" />
<input type="hidden" name="authkey" id="authkey" required="true" value="6F06057985CD37B3DDCDD3FBFAA5C277"
/>
<input type="submit" name="submit" id="submit" class="enter_btn" value="ENTER" /> ...... <script type="text/javascript"> function chk_submit() { if ( $( '#password' ).val() == '' ) { notice_me('#password', '密碼不能為空'); } else { notice_me('#password', '密碼不能為非空'); } //JS說無論如何您都是錯的
return false; }
</script>
指令碼中的程式邏輯表達了“奸商”的思路,無論提交什麼,都會notice_me(“密碼不能為非空”),並返回false。顯然解題的關鍵在於能夠令chk_submit返回true,然後提交。這一點可以藉助chrome瀏覽器的單步除錯能力來實現。

這裡寫圖片描述

並在右下角的console中鍵入chk_submit,回車可見該函式定義。然後鍵入chk_submit()執行該函式,發現結果返回false;鍵入chk_submit=true,令其值為true,回車後,在左側key輸入框中鍵入“password”,然後點選“enter”,本題就解決了。