(使用Burp Suite暴力窮舉折扣碼)
0x01. 故事背景
又到了一年一度的聖誕節交換禮物的時候,又要開始煩惱要買什麼聖誕禮物。好巧不巧,找到了聖誕禮物,卻發現荷包不夠,無法買到最理想的那一個QQ。幸好,該購物網站有9折折扣碼,折扣完剛好可以負擔。但是,殘酷的現實是......居然要用抽的......如果我沒有抽到,聖誕節禮物就要告吹了。
於是開啟了我的省錢大作戰。
0x02. 遇到的問題
一直抽不到10%的折扣碼
先來看一下網站抽獎方式:
首先你要信箱驗證,才能抽取折扣碼。我嘗試了好幾次,發現相同信箱重複驗證不會過,它有防止重複信箱驗證。(如下圖)

你可以看到折扣碼分類,總共有六種獎勵:
-
30元購物金
-
50元購物金
-
3%折扣
-
5%折扣
-
最大獎:10%折扣
-
驚喜包
但不管我如何嘗試,就是一直抽到折3%或折5%的折扣碼(優惠不夠多......目標是10%優惠大獎)
這是3%的折扣碼(如下圖)

這是5%的折扣碼(如下圖)

0x03. 使用的方法
在觀察折扣碼中,突然,我意識到,折扣碼居然有規律!(我嘗試了三組後發現,折扣碼是固定的)
xmas989 —> 3%折扣
xmas484 —> 5%折扣
我發現它的規律是xmas[某數]8[某數]
於是,我誕生了一個好奇(ㄒㄧㄝˊㄜˋ)的想法,我能不能猜出我要的折扣碼?(10%折扣)
大膽假設,小心求證。為了求證,我手打了一份payload:
xmas181
xmas282
xmas383
xmas585
xmas686
xmas787
xmas888
結果是...殘念...都是錯的......
若折扣碼錯誤,他會產生一個錯誤畫面(如下圖)

雖然失敗了,不過我發現網站居然不會阻擋使用者猜測折扣碼,這反而使我更相信能用窮舉法猜出折扣碼。
正好,我用信箱驗證得到的另一組折扣碼是:
xmas343 —> 50元折扣
於是我故技重施,
xmas[某數]4[某數]
xmas141
xmas242
xmas444
xmas545
xmas646
xmas747
xmas848
xmas949
果不其然,中獎了,得到一個驚喜包!(如下圖)

我嘗試用手動輸入20幾組折扣碼,有些有猜到,有些沒有。不過對我而言都沒差,我的目標是10%折扣碼!
整理一下,目前我得到折扣碼組合如下:(信箱驗證和手動輸入得到的)
xmas484 —> 5%折扣
xmas989 —> 3%折扣
xmas224 —> 30元折扣
xmas343 —> 50元折扣
xmas646—> 驚喜包
因為用手輸入折扣碼手好酸,要按好多個步驟。於是我想到最近在使用的Burp Suite,能不能透過它來解決這個問題?
Burp Suite介紹
它是用於接觸web應用程式的整合平臺。它包含了許多工具,併為這些工具設計了許多介面,以促進加快接觸應用程式的過程。
所有的工具都共享一個能處理並顯示 HTTP 訊息,永續性,認證,代理,日誌,警報的一個強大的可擴充套件的框架。
其官方網址是 https://portswigger.net/burp/
於是我就開始了我的Burp Suite之旅!
不過在嘗試之前,有一些前置工作要完成
因為我是用Burp Suite 的 intruder,他有一些參數需要提前給他(比方說,Target, Positions, Payloads, Options)(如下圖)

(1)Payloads 建構
因為網站上折扣碼只能套用一種。意思是說如果已經套用了5%折扣碼,就不能再套用50元折扣碼。(如下圖)

所以我不希望網站套用到我已知的折扣碼,所以我用 Python 寫了一份Payload,防止產生已知的折扣碼。(code如下圖)

於是,我就得到了一堆折扣碼候選人(總共 895個後選人)(如下圖)(只顯示部份)

(2)Positions(Payload注入的位置)(如下圖,碼一下網址XD)

於是,我就跑去吃午餐囉,回來再來看結果XD
回來後,發現Burp Suite 已經找到10%折扣碼了!
先看如果不是折扣碼的話,Response長的樣子(如下圖)

如果是折扣碼的話,Response長的樣子(如下圖)

0x04. 結果
省了110元,晚餐可以加料了 XDD

0x05. 結論
祝大家聖誕節購物愉快!
全站熱搜