you are viewing a single comment's thread
view the rest of the comments
[–] 63 points 1 month ago* (last edited 1 month ago) (17 children)

the API endpoint GET [redacted] will return user data for any account - not just your own account - so long as you supply a valid, five-digit user ID. It doesn’t perform any authorization check or ownership validation. “Just increment the number and get someone else's data,” she wrote.

This data includes users’ email addresses, first and last names, country, dates of birth, and whether the account has been deleted, and the API exposes all 719,517 accounts on the prayer site. “With sequential user IDs and no rate limiting, an attacker could enumerate every single account on the platform,” the hacker explained. “One GET request per user. for i in range(1, 719518): scrape(). That's it. That's the exploit.”

My God, that's horrific. Plus it doesn't even delete your data if you delete your account, it's still vulnerable.

  • source
  • hideshow 17 child comments
  • [–] 16 points 1 month ago* (last edited 1 month ago) (4 children)

    I wonder of the vatican is part of the gdpr...
    Would be funny to read about the church getting sued for that.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 1 month ago (3 children)

    I don't know much about GDPR… is it illegal to have badly written software like this? Technically the user is bypassing normal usage and "hacking" the API

  • source
  • parent
  • hideshow 3 child comments
  • [–] 6 points 1 month ago (6 children)

    5 digit user ids, yet over 700k users? Im sure they must have gone up to 6 digits

  • source
  • parent
  • hideshow 6 child comments
  • [–] 4 points 1 month ago*

    They probably meant 6 digit and it was a typo. The rest of the article references 6 digits. If it's just an integer (highly likely) it would go up to 10 digits or roughly 2 billion max users. My old coworkers and I used to joke that hitting INTEGER.MAX_VALUE for your customer ID is a good problem to have

  • source
  • parent
  • [–] 2 points 1 month ago (3 children)

    Unless by “digit” they mean any alphanumeric.

    You’ve got a lot of options if you go to a 5 characters with letters.

    Which they’d kind of have to with 700k users if it’s 5 characters.

    If it’s case insensitive, you’ve got 60,000,000+ combinations, and if case sensitive then 916,000,000+ combinations.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 5 points 1 month ago (3 children)

    It sill works, you get first name and last name.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 1 month ago (2 children)

    Maybe I should remove that from my comment lol, I feel like I'm contributing to a data breach or something

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 1 month ago (1 child)

    It is in the article doesn't matter if you remove it. The moment the article became public it is already too late.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 month ago

    I know, but a lot of people don't click the article, they just look at headline + comments, so it's still a reduction of visibility or an extra step. My comment is like exposing the endpoint right there front and centre. Plus, I don't like being personally responsible for any data breach. Maybe it's just a tiny thing but it felt like the right thing to do

  • source
  • parent