今天做了攻防世界WEB高手進階的兩題,雖然步驟就這么幾步,但是由於自己很菜,所以查閱資料、尋找突破點花了不少時間。
一、ics-06
打開題目,點來點去,發現除了報表中心,點擊其他任何地方都只會返回一個頁面,這也符合題目描述:
報表中心是這么個界面,並不能輸入數據,查看源碼也沒什么思路,卡了比較久的時間,直到發現明明沒操作,url后面跟了個: ?id=1,這就有點意思了,可以get傳參,至於參數干嘛的就不知道了,這應該是攻防世界給的提示。
雖然有點不明所以,但是應該是id等於某個值會返回什么東西,先用burp的爆破模塊爆一下:
還真是,2333,返回url輸入,直接就顯示了flag,這就完了?結束的很突然。
二、Lottery
第二題沒有題目描述,是一個模擬彩票系統:
一開始以為注冊時可以無密碼直接注冊是個突破點,試了admin啥的都沒不同,網頁源碼也找不到彩票生成邏輯,但是最后一頁給了提示:要賺到9990萬才能買到flag。
不過還是沒什么頭緒,無奈看了writeup,發現原來還有個提示在robots.txt里,disallow了git,說明存在git泄露(大約就是小公司為了方便把項目壓縮包傳到網站沒刪除)。
對於git源碼泄露,有一個github上大佬的githack可以直接輸入url提取下載並有補全功能。
下載到壓縮包后,閱讀源碼
全部通讀一遍,發現是點擊buy時使用函數臨時生成隨機數與輸入對比,成功率非常低,可以利用的部分在這里:
這里以為一位對比,並且使兩連等==弱比較,可以直接burp改包,構造【true,true,true,true,true,true,true】來使恆等:
一次給5000萬,兩次之后就可以在Claim Your Prize購買flag啦: