攻防世界Web lottery

lottery

  開心!雖然第一次遇到git源碼泄露寫了好久,但是寫出來了就很開心~~

  打開界面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以爲可以找到一個地方直接修改餘額什麼的,把網頁源代碼中的文件看了幾個都沒發現突破口……

  然後又沒思路了……

  嘗試了一下robots.txt,想看看有沒有什麼文件,然後發現了:

  瞬間振奮.jpg

  百度了一下發現應該是git源碼泄露,下載了GitHack(下載地址

  然後用GitHack掃描url:

  發現了api.php,這時候源碼已經下載下來了,打開api.php的源碼:

  在買彩票這裏的函數:

  其中 $numbers 來自用戶json輸入 {"action":"buy","numbers":"1122334"},沒有檢查數據類型。 $win_numbers 是隨機生成的數字字符串。
  使用 PHP 弱類型鬆散比較,以"1"爲例,和TRUE,1,"1"相等。 由於 json 支持布爾型數據,因此可以抓包改包,構造數據:

  構造兩次錢就夠了(要注意當生成的win_number中不含0時纔會得5000000,構造兩次得的錢不夠的話再構造一次就好了)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章