Sarmad Hassan

Published On: 30 Jul 2021

How I Hacked GETTR

Other
General | Web
---
HIGH VALID

Gettr is a social media platform targeted to American conservatives. It was created by Jason Miller, a former Donald Trump aide and spokesman, and launched officially on July 4, 2021. Its user interface and feature set have been described as very similar to those of Twitter.

Description

In 4-July-2021 I saw post in Facebook for people talking about gettr.com website and at that time I decided to test it to see how the website is secure, to be honest with you it took from me 20 minutes to find 5 security bugs like (2) IDORS, (2) for user privacy disclosure and (1) as reflected XSS.

Impact

1- Edit users Nick Name. 2- Disclose users information. 3- Steal users cookies and take over users accounts. 4- Disclose posts for users who blocked you. 5-Pin other users posts.




Reproduction Steps

Step
1

1st bug: edit users NickName:

====================

 while changing the webiste language interface I noticed  below endpoint:

POST /u/user/attaker_username/settings/account?prop={}

{
"content":{
"nickname":"attaker nick name",
"lang":"en"

 }

I noticed two things:

1- when I change the attacker_username to any other user the response give me no error despite the webiste is protected by jwt (jason web token)

2- They put "nickename" as a variable for post that reponsible to change user webiste interface

 


so when I change the attacker user name to other users name (for accounts that don't belong to me) and with ability to edit the "nickname" value, I was able to change the nick name for any user.

Step
2

2nd  bug :Disclose users information

=========================

While checking my burpsuite history tab, I saw below endpoint:


https://api.gettr.com/u/posts/srch/choices?phrase=attacker_user_name&max=5&incl=userinfo

 

This endpoint was using GET request and it return all the information that belong to the user as below:

id"user_id_name"

nickname"user_nick_name"

email"user_email"

username"user_username"

ousername"user_username"

birthyear"user_birthdate"

block"blocked users name"

 

So by changing the "attacker_user_name" in the above link to any user_name, I was able to disclose all the information mentioned above, and as you know these information considered as private and should not be visible to public.

Step
3

3rd bug: Ref XSS - Steal users cookies and take over users accounts

===========================================

I noticed when I search for user that don't exists on the website it will redirect me to below link:

https://gettr.com/account-doesnt-exist/username_that_don't_exist


I noticed that the username is being reflected on the page as a bold text, so I told my self why not to check for XSS, I tried some payloads to trigger XSS but nothing worked for me, yes they put protection to prevent XSS attack but it was not good implmented, I was able to bypass their protection using iframe tag, the payload that I used was as below:

<iframe src=javascript:alert(1)>

Step
4

4th bug: Disclose posts for users who blocked you

=================================

When you block a user in gettr webiste he will not be able to see your profile and posts, but I have found a way to bypass it, I noticed it is possible to see post for users who blocked you if you only know the post id for example:

https://gettr.com/post/userwhoblockedyou_post_id

If you go to above link with known user post id you will be able to see his post and also you will be able to give him a like :)

Step
5

5th bug: Pin other users posts

=====================

Like other social platforms gettr aslo have an option for pinning posts, you can't pin other user post you can only pin post that you own, but in our case I have found a way to bypass this and I was able to pin other users post to my profile, in order to reproduce this bug, just pin your post and intercept the reqeust with burpsuite, you will see POST request like below:

POST /u/user/attacker_user_name/post/post_id/pin

change the post_id to other user post id (post that you don't own) and forward the request to the server, then go back to your profile page and you will see the that post been pinned to your profile :)

Special thanks

I would like to thanks gettr.com dev. team for addressing these bugs and fixing it very quickly and also special thanks for Joe, thank you man for your support.


Videos

Timeline
.
Sarmad 04 Jul 2021

Initial Report

04 Jul 2021

Bugs Fixed

VALID