• @[email protected]
    link
    fedilink
    English
    17910 months ago

    How to say you’re vulnerable to code injection without saying you’re vulnerable to code injection.

    • tryptaminev 🇵🇸 🇺🇦 🇪🇺
      link
      fedilink
      30
      edit-2
      10 months ago

      Are they vulnerable though, if they already exclude it at the user input?

      I yet have to learn SQL and is there a way to allow passwords with '); DROP TABLE… without being vulnerable to an injection?

      nevermind i googled it, and there various ways to do so

      • @herrvogel
        link
        5110 months ago

        This still smells though. Why is the raw, plain text password string getting anywhere near database queries in the first place?

        • @cactusupyourbutt
          link
          1910 months ago

          I doubt it is. they probably have a WAF that blocks these strings though and didnt want to bother reconfiguring it

      • @rtxn
        link
        English
        33
        edit-2
        10 months ago

        Prepared statements, mostly. You define the query using variables, turn that query into a language-dependent object, assign values to those variables, then execute the statement. The values will be passed verbatim, without any parsing.

        Or, since we’re talking about a password, you could encode or encrypt it before inserting it into the query string. The fact that the website could be negatively affected by phrases in the cleartext password is very concerning.

        • @surewhynotlem
          link
          810 months ago

          At best, it means they’re storing your password instead of just a salted hash. And that’s horrible.

      • Ugly Bob
        link
        fedilink
        2410 months ago

        I noticed that upper case select, drop etc are not prohibited.

        Poorly implemented user input filters are not a valid solution to being vulnerable to injection.

      • @[email protected]
        link
        fedilink
        1010 months ago

        No one in their right mind is storing plain text passwords, or letting them anywhere near the database.

        You convert the password to a hash, and store that. And the hash will look nothing like the password the user typed.

        • @acetanilide
          link
          1210 months ago

          You’re right. No one in their right mind would do that.

          On the other hand, people not in their right mind often run things. Such as my old professional liability insurance. Which wrote the username and password in the yearly statements…

          And also sent you the password through email if you forgot it…

          Also you couldn’t change it…

          • @BURN
            link
            710 months ago

            There was a popular companion app to a game I play that’s stored passwords as MD5 hashes for years and when they got hacked they were able to decrypt everything.

            Bonus point, the app was released multiple years after md5 was cracked.

            Developers (including myself) cannot be trusted to implement the correct process 100% of the time. It’s happened too many times for it to be a single person issue and has transcended into a problem with software engineers

            • @acetanilide
              link
              210 months ago

              😬😬 that’s crazy but good to know

        • @usefulthings
          link
          310 months ago

          Lol. Yes, people do still build systems and store plain text passwords. I regularly get scammers sending me my throwaway passwords from crappy sites. Good thing I never reuse passwords, or email addresses.

      • @trolololol
        link
        110 months ago

        🥲 t Yep it’s that easy to do the right thing

    • @[email protected]
      link
      fedilink
      810 months ago

      Maybe they filtered those strings to be safe, and put the notice there to answer the invertible “why won’t it accept my password” queries.

      It’s a shitty password engine. But not necessarily uncleansed

      • @[email protected]
        link
        fedilink
        English
        6
        edit-2
        10 months ago

        If they’re trying to protect themselves from code injection by rejecting certain user input like that, then they don’t actually know how to protect themselves from code injection correctly and there may be serious vulnerabilities that they’ve missed.

        (I think it’s likely that, as others have said, they’re using off-the-shelf software that does properly sanitize user input, and that this is just the unnecessary result of management making ridiculous demands. Even then, it’s evidence of an organization that doesn’t have the right approach to security.)

        • @[email protected]
          link
          fedilink
          210 months ago

          I don’t know, maybe they saw that classic XKCD comic and now they’re thinking “hahah, I’m wise to your tricks, ya little shit”

    • @thenextguy
      link
      510 months ago

      This is the result of some doc writer or middle manager not fully understanding what they’ve been told.

  • @RizzRustbolt
    link
    5810 months ago

    Oh BobbyTables, you little rapscallion…

  • @bitwaba
    link
    5610 months ago

    Little Bobby drop tables

    • Semi-Hemi-Demigod
      link
      fedilink
      1710 months ago

      They might be doing it in the DB query, but they’re definitely not sanitized beforehand.

      • @CrayonRosary
        link
        210 months ago

        Sanitization has nothing to do with salting and hashing.

        • Semi-Hemi-Demigod
          link
          fedilink
          210 months ago

          If you do the salting and hashing in a database query you need to sanitize the input before you use it or you open yourself to SQL injection.

          Databases have salting and hashing functions, after all

    • @Rednax
      link
      910 months ago

      Which makes me want to try and insert a password of a few megabytes worth of text. Should be fine, since there is no max lenght defined, right?

      • @[email protected]
        link
        fedilink
        410 months ago

        If there is no overwrought prohibition of something I know that at least in America that means it’s

        1. Affirmatively legal and
        2. Legislatively encouraged by the FREEE Act

        So give ’em hell!

    • @CrayonRosary
      link
      1
      edit-2
      10 months ago

      That’s not how it works. The code always has access to the submitted plaintext password. It’s salted and hashed after it’s verified for complexity. The complexity verification can even be done in JavaScript.

  • @Matriks404
    link
    2610 months ago

    I don’t believe this is real. This isn’t real, right?

    • A Basil PlantOP
      link
      2410 months ago

      This is real - I took the screenshot myself.

  • @EfreetSK
    link
    1910 months ago

    We could still have some fun with ALTER TABLE

  • ShaunaTheDead
    link
    fedilink
    1810 months ago

    Some of the strongest and easy to remember passwords are just a few words strung together with a few numbers.

    For example: Simpsons7-Purple4-Monkey1-Dishwasher8

    Just remember “Simpsons Purple Monkey Dishwasher” and “7418”. You’re probably never going to forget that and I just tossed it into a password strength tester and it said it would take about 46 billion years to randomly guess it.

    • body_by_make
      link
      fedilink
      3810 months ago

      It would take me about 5 seconds because you just told me what it is genius

    • @[email protected]
      link
      fedilink
      1510 months ago

      Now remember these types of passwords, all different for different services. It’s not a realistic expectation. Password managers are a must nowadays if you want to protect your accounts. But these types of passwords are also easier to type out.

      • Ð Greıt Þu̇mpkin
        link
        fedilink
        810 months ago

        My tactic is use a memorizeable passphrase as the unlock for the vault and assorted gibberish for anything in the vault

      • @trolololol
        link
        210 months ago

        Anything else and I can’t remember so I’m using this.

        I’m told it’s very secure so I must be very secure. Right? Right?

      • @Klear
        link
        1310 months ago

        Yeah, a bunch of asterisks works too.

    • @thenextguy
      link
      810 months ago

      I’ll never understand why spaces are commonly not allowed in passwords.

      • @trolololol
        link
        110 months ago

        I’ve seen stupid developers do dumb stuff that makes keyboard remove and or add spaces to password fields. Making you type correctly but still fail.

        Same with tabs.

    • @[email protected]
      link
      fedilink
      810 months ago

      Password strength checkers are taking an approach that’s naive for this case. The actual strength depends on the size of the dictionary and the number of words you randomly choose out of it.

      Bcrypt has a length limit of 72 characters, so very long passwords generated this way can be silently truncated. Developers can avoid this problem by running sha256 on the input before giving it to bcrypt, but that isn’t common.

      • ShaunaTheDead
        link
        fedilink
        710 months ago

        For maximum security your password manager should have a password and you have no choice but to remember that password.

    • @[email protected]
      link
      fedilink
      410 months ago

      Memorising 1 password like that sure, but according to bitwarden I have 209 passwords, no way I can ever remember them all

    • @LwL
      link
      2
      edit-2
      10 months ago

      If the structure of it is known it becomes much faster. Word+single digit^4 isn’t all that hard.

      For the vast majority of purposes, it’ll be fine. And certainly as long as that particular structure isn’t commonplace, it won’t be easy to guess anyway. But password strength testers don’t consider that - guessing “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa” randomly also takes billions of years, so they can give a bit of a sense of false security.

      • @Kramt
        link
        3
        edit-2
        10 months ago

        Eh it’s still pretty hard.

        If we check the numbers of English words from https://www.merriam-webster.com/help/faq-how-many-english-words and take a conservative estimate of 400 000 at the bottom of the page.

        That means with the exact format of (word)(number)- 4 times has (without repeating words) 400000*9*399999*9*399998*9*399997*9 = 167957820891293697014400000 combinations. https://www.wolframalpha.com/input?i=400000*9*399998*9*399997*9*399996*9

        The fastest super computer at the moment apparently sits at 1.1 quintillion Hz. Or 1.1 billion billion.

        If that computer could make 1 guess every clock cycle it would still take it over 4 years (167957820891293697014400000 / 1.1quintillion = ~52 months ) to run through all possibilities.

        Now that is a very fast computer, and we haven’t included the possibility of various numbers of words, different delimiter, or where and how often numbers appear. So unless you’ve really pissed off the US gov I don’t think you have to worry about it.

        There’s a reason passphrases are the currently recommended way to generate secure passwords that are hard to guess but easy to memorize/type in.

    • @CrayonRosary
      link
      1
      edit-2
      10 months ago

      Just use a password manager!

      All of my password look like this, and even I don’t know what they are for any given site. And each site has a unique one.

      .S"uB3U-_5X?e8XRa:2J

      Edit: I just saw your other comment, but you said plural “passwords”, so I’m leaving this up.

    • @fidodo
      link
      English
      110 months ago

      I also tweak my base password based on the site. One site hack could lead to all your passwords being compromised no matter how long it is. Sure someone might be able to figure out the pattern if they analyzed it manually, but most hacks try to break into accounts en masse and they’re not going through passwords one by one.

  • @Treczoks
    link
    1410 months ago

    I consider this an invitation.

  • THCDenton
    link
    1010 months ago

    Ima just use my butthole with a biometric scanner.

  • @Kyrgizion
    link
    610 months ago

    Didn’t say anything about truncate!