• m_f
    link
    fedilink
    English
    arrow-up
    106
    arrow-down
    1
    ·
    2 days ago

    Somebody isn’t sanitizing their inputs properly. Like putting a bandaid on a heart attack

    • friend_of_satan@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      Which is ridiculous because it’s going to hash down to the same character set. There’s no way they’re storing your password with special characters unhashed, right?

    • Scrubbles@poptalk.scrubbles.tech
      link
      fedilink
      English
      arrow-up
      68
      arrow-down
      1
      ·
      2 days ago

      Whenever I see something like this I just laugh because you’re exactly right. Something isn’t being handled properly and their dev team just proved they don’t know how to do some basic handling. Every API library in JS and restful API I know of handle special characters. If they wanted they could base64 encode it over the wire. Then you’re exactly right, if the database “can’t handle it” more than likely it’s a home spun database connection where they’re serializing it themselves (which even then this is solvable), but even then that proves that they make poor choices.

      • OmegaLemmy@discuss.online
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 day ago

        Sometimes I wonder if I’m even fit for employment as a developer and then I see shit like this where I wonder who and what happened for this to even become an option?

      • doeknius_gloek@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        32
        ·
        edit-2
        2 days ago

        if the database “can’t handle it” […] that proves that they make poor choices.

        Exactly, the database should never even have to handle the password in it’s original form and hashing algorithms don’t care about special characters.

      • Snot Flickerman@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        12
        ·
        edit-2
        2 days ago

        This is like when I was in my twenties working at a crappy grocery store with a MoneyGram inside of it. I live in Washington state, and at the time, if your last name was less than five characters, you would have asterisk’s in your license number. The MoneyGram system wanted people’s license numbers but was unable to recognize a license with an asterisk. It happened pretty rarely, but it always happened to people whose last names were four characters or less long. Five letters in your last name and you were gold. To make the transactions happen, I would just do the whole license number minus the asterisk.

        Anyway, Washington changed how it generates license numbers so its a moot point anyway but I don’t think MoneyGram ever spent a dime to fix this since it only affected a small number of people in one US state.

        • bitchkat@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 days ago

          Are you saying that your driver’s license number contains your name? Do you get a new number if you change your name?

          • tigeruppercut@lemmy.zip
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 day ago

            Some states base it on your name in some ways. Mine used to have (maybe still do but I don’t live there anymore) letters from first and last names plus birth date as most of the number. I assume if you change your name your number changes as well.

      • dual_sport_dork 🐧🗡️@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        2 days ago

        Seems to be they’re dropping the passwords in the database in plain text, but they’re deathly afraid that someone will drop a '; in there or something and the insert will break.

        Notwithstanding that storing passwords in plain text is a slapping with the 10 foot rubber chicken, but mysqli_real_escape_string() or any number of other similar solutions are indeed a thing that exists. A prepared statement would work, too.

        • Aganim@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          2 days ago

          but mysqli_real_escape_string() or any number of other similar solutions are indeed a thing that exists. A prepared statement would work, too.

          You make it sound as if a prepared statement is a last resort. I would turn that around: as a rule always use prepared statements when dealing with user input. It’s very easy to forget a single call to mysqli_real_escape_string().

          • dual_sport_dork 🐧🗡️@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            1 day ago

            I was thinking more along the lines of the types of laziness/ineptitude most likely present at wherever OP’s example were being written. Escape string is one line of code for this whereas preparing a statement is like five.

            But really they should just be hashing it. Then the input doesn’t matter.

    • Th4tGuyII@fedia.io
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      Was my first thought. The only reason special characters would ever matter in a password is if you’re storing/processing them improperly