
BLOG
BLOG
The target application is an online gaming application that offers a variety of games to play. You can earn money by playing a variety of games. This application organizes various battles. As a result, two users can participate in the games and win money. This application also gives users coins for playing games, which they can later exchange for buying profile pictures and other items & also users can withdraw the earned money later.
The application has a feature to play the game & earn coins. For example, if I play & complete the game then I will get 10 points for it. Later I can convert these points to buy profile pictures, products, etc.
An attacker has to find out the HTTP request through which the application is giving points. The attacker will run the intruder on that request and points will get added to the attacker’s account. So an attacker can earn unlimited coins without playing the game again & again.
Note* Identifying the HTTP request which updates the gaming score is very important
1) Play & complete the game and capture the HTTP request which updates the gaming score.
The application has a module to play the match with any other user and if you score more, you win the match and you will receive the real winning amount.
An attacker can win the match by increasing the score and can earn that winning amount.
Note* Identifying the HTTP request which updates the gaming score is very important
1) Log in to the application
2) Play & complete the game.
3) Capture the HTTP request which updates the score of your game and replaces the game_score value to a higher score and forward the request. and the score gets updated and you will win the match.
Read more: Everything You Need to Know about iOS Jailbreak Detection Bypass
The gaming application has a leaderboard through which a user can see who is in the top 10. On the leaderboard, the application only shows the NAME of the top 10 players on the GUI/frontend of the application.
An attacker will capture the leaderboard HTTP request and in the response, it will disclose the leaderboard user’s password, personal mobile number, email address, address, referral code, coins, money, etc. This information is not displayed on the GUI of the application. This allows an attacker to view the user's personal information.
Capture the leaderboard HTTP request and response will disclose the user’s personal information.
The application has a module to withdraw money that the user has earned by playing the games and all.
So, when an attacker wants to withdraw his earned money, he will give a negative amount (-500000). Instead of removing/withdrawing that money, it will be credited to the attacker’s gaming account, and then the attacker will be able to withdraw it later to her bank account.
1) Go to withdraw money module
2) Enter some amount and capture that HTTP request in the burp suite.
3) In the amount parameter, give a negative value (-50000).
4) Forward the request and this amount will be added to your gaming account.
5) withdraw that money to your bank account.
The application has a module to add money. A user can add money and use some coupon for a certain amount, on which the application gives cashback.
Let’s take an example, the application is giving 10% cashback for adding 500 rs into your gaming application. So as an attacker what we can do is here, she will use the same coupon code for adding less than 500 amounts and get the 10% discount.
1) Log in to the application and go to add money module.
2) Add min 500 rs money and get a 30% discount.
3) Enter 50 rs and apply the given coupon code and capture the given HTTP request.
4) Replace the amount value to 10 and forward the request and add money.
5) Go to the profile module and observe that you get 3 rupees bonus cash.Read more: 8 Different Ways to Bypass SSL Pinning in iOS application
The gaming application has a feature to buy the profile pictures of your choice of different characters.
An attacker can use these profile images without buying those images.
The gaming application has a feature to buy profile pictures with coins & money.
An attacker can use these profile images without buying those images.
The application is using a google cloud bucket for storing the user’s data like KYC documents and all.
This google bucket has read-only public access, which allows an attacker to view all the sensitive files of the users.
Run the below command and it will list all the files.
gsutil ls gs://bucket_name/
As we know KYC plays a very important role, when a user earns money from the online application. So In my application for withdrawing money etc, users must have to verify their account with KYC.
An attacker can withdraw the money etc. without verifying his account KYC due to improper server-side validation.
Gaming applications are the most vulnerable to security breaches since they store a lot of money and the personal information of users. The majority of gaming applications are vulnerable to business logical flaws. That's why we've gone over a variety of logical errors.
Gamers are emotionally attached to gaming applications because they put in a lot of effort to reach the top, and if a hacker can reach the top without playing the game, it is a significant loss for the company since users would lose faith in it. As a result, safeguarding the gaming application is critical.
We have so many ideas for new features that can help your mobile app security even more efficiently. We promise you that we wont mail bomb you, just once in a month.