• Zarobi@aussie.zone
    link
    fedilink
    English
    arrow-up
    55
    ·
    edit-2
    1 month ago

    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.

    • Zeoic@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 month ago

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

      • Zarobi@aussie.zone
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        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

      • Earthwormjim91@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        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.

        • ViatorOmnium@piefed.social
          link
          fedilink
          English
          arrow-up
          5
          ·
          1 month ago

          It’s numerical only, but the number doesn’t need leading 0s so anything from 1 to 6 digits might be a valid user ID.

          • Earthwormjim91@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 month ago

            That would be an absolute nightmare to administer lol. Though I guess that tracks.

            1, 01, 001, 0001, and 00001 would all be different users