replay attack on Apple IAP receipt
Posted | archive
in this senario
Before client sends verify receipt to developer server, the receipt data can be recorded and replayed to developer server,
-
suppose the receipt data is
<receipt-something>
, it's verified, and buy transaction has finished. -
add a space to receipt data
<receipt-something><space>
-
submit to developer server again
-
developer server will first
base64
the<receipt-something>
, with a trailing space, the wrap it into a JSON object like{'receipt-data': <receipt-something><space>}
, then send it tohttps://buy.itunes.apple.com/verifyReceipt
-
apple server will return status = 0
-
now you can buy IAP stuff using the same receipt over and over and over again.
-
???
-
Profit!!!11!111
see also this thread, especially comment by Ben S
btw I am still trying to figure out how to do a rollback transaction. lol
Comments