How I hacked an online dating website?
You ever have that feeling after your exams end up, where you are just hoping for something to happen to keep you occupied. I mean during your exams you are super busy for two weeks or so and then suddenly you have nothing to do and are officially allowed to just chill. The same happened with me when my exams ended.
Being single and nothing to do, I very frequently find myself browsing through online dating websites. So, there I was browsing through one of these, where they asked me to make a premium account, i.e. to pay a certain amount of money to be able to communicate with other users on the website. I became eager to test out their systems, and see if they could at all stop me.
Let’s dig in!
On this, website example.com I was allowed to send friend request kind of thing to another users who I was interested in, but that was it. You can’t send them message or anything of that sort unless and until you have paid up the amount of money.
You need to understand this carefully, the dating website has a credit system, where you can buy a certain number of credits by paying up a certain amount of money. Once you have those credits in your account then you can use it according to your wishes. You can send messages but you still would have to pay again if you want to send something special like in-website cards, gifts and special emojis.
Trying to break the payment method
So, as soon as I figured out that the payment was necessary and there was no other way around it I thought to try and break the payment method. As I started monitoring the packets being sent back and forth from the server to my browser, there was no point where I could intercept the packet and manipulate the amount of money that was supposed to be paid to access the services of the website. But then I notice something interesting that made the hack possible.
Getting the job done
When I wasn’t able to find any way around, I took a step back to analyse in what different ways could I break the payment method and get the job done. It’s then when I realised that the website was giving away free 20 credits to every new user as a promotional strategy. It was being sent to the server in plaintext, without any hashing being carried out as a method of error correction or any check for message integrity.
As soon as I saw this I tried to manipulate it, changing it to 20,000 from 20 credits. I kept forwarding the packets one after the another to check if the change that I made was reversed back to its original value or did it remain the same. The packets remained the same, with the promotional credits still at 20,000 till the time payment was to be done.
This was a serious mistake that I discovered, faults in payment gateway can cause huge damage to the company that is hosting the service. They properly protected the way payment was supposed to be carried out but they overlooked such a small detail rendering the whole security useless.
Sometimes it’s the small things that cause the greatest problems, after all
“The devil lies is in the detail”
I didn’t carry out the payment ’cause I still needed to pay 20$ for the whole deal and to be true online dating never works and that would have been a waste of 20$.
If you enjoyed it please do clap and happy hacking!
Twitter : twitter.com/aditya12anand
LinkedIn : linkedin.com/in/aditya12anand/
E-mail : [email protected]