Earlier quoted context omitted.
Many people in positions of great responsibility don't do what they should. What do we do about that?
I wouldn't be telling anyone to implement crappy password policies as a workaround. I'd tell them to do it properly or not at all, and remind them that in many jurisdictions, knowingly implementing poor data controls earns you some actionable liability. PII is no joke. This isn't controversial when you're telling people you can't do your own gas work without certification, or electrics without experience. It's okay t…
Password may not contain: select, insert, update, delete, drop
151–160 of 254 posts
Re: Password may not contain: select, insert, update, delete, drop
#152Earlier quoted context omitted.
Counterpoint - however pathetic it may be, it's better that they publicly owned up to their lack of confidence in this way. The question is, what do we do about it once we see something like that?
> The question is, what do we do about it once we see something like that? Run away and stay as far away from their products and services as possible.
Re: Password may not contain: select, insert, update, delete, drop
#153A legendary xkcd: "Did you really name your son Robert'); DROP TABLE Students;-- ? https://xkcd.com/327/
Re: Password may not contain: select, insert, update, delete, drop
#154Oooh! I put that string there! It was a request by management, and I still don't know why. This site doesn't store any passwords, it's basically just a nice interface to external account management. I heard a rumour that some legacy apps have weird validation on their login fields, so students wouldn't be able to log in with passwords containing certain strings. But I don't actually know of any examples.
Re: Password may not contain: select, insert, update, delete, drop
#155Optimistically, perhaps this requirement stems from an overzealous WAF
That, or some poorly architectured "framework" or toolkit. Others in the comments see this as "proof" that the application has poor security. I don't think we can draw that conclusion. We can, however, draw the conclusion that some part of the stack is poorly implemented.
Bypassing this kind of filter is literally the second picoCTF SQL injection level, which is intended for high school STEM students.
Re: Password may not contain: select, insert, update, delete, drop
#156Earlier quoted context omitted.
Your password should not go anywhere near a database. It should be salted and hashed a few hundred thousand times and that compared to the salted, hashed version stored on file. If you can't even manage that, you have no business writing software that can store credentials. And I mean that. Software security starts with acknowledging that data is toxic and will bankrupt you if you refuse to respect it.
>Your password should not go anywhere near a database. > > It should be salted and hashed a few hundred thousand times and that compared to the salted, hashed version stored on file. > > If you can't even manage that, you have no business writing software that can store credentials That's misunderstanding the nature of the vulnerability. It's not about where the password is stored, but where it is entered. Before it…
There might not be an actual attack vector, they might block these words in all inputs. It just smells like incompetence.
Re: Password may not contain: select, insert, update, delete, drop
#157still better than "password used by another account"
Not sure if serious. We need this. If you can guess someone else's password by accident, both of you need a password reset and that password needs to go on the denylist. Modern advice for strong passwords is having a length requirement and checking the input against a list of known passwords, for example using the HIBP partial hash API. (Any time you see forced expiration or complexity requirements, you're dealing wi…
[0]: https://blog.codinghorror.com/the-god-login/
[1]: I suppose you could salt and hash the user’s password against every other user’s password and their salt, but if you chose an appropriate password hash function and parameters, that would take infeasibly long.
Edit: I missed that you essentially suggested this already. Sorry about that. However, I think the way Atwood explains it is useful.
Re: Password may not contain: select, insert, update, delete, drop
#158Instead of making sure SQL injection is not possible at all by using proper stored procedures and other techniques, they just limit a few keywords and hope hackers don't come up with something that they haven't thought of like some escaping trick. Yeah that would probably work for a while. Until someone proves it doesn't :P It's not really rocket science anymore to make sure user input doesn't mix with your SQL. This…
My point is that voodoo programming isn't always due to lack of due diligence. It's due to knowing that something went wrong with something in the past, but for which there is no evidence, and about which you would be able to do nothing.
My preference is to deploy it anyway, see if it breaks, and if necessary work it out with the customer after the fact. That's unpopular for good and obvious reasons, so no pipe characters.
Re: Password may not contain: select, insert, update, delete, drop
#159Instead of making sure SQL injection is not possible at all by using proper stored procedures and other techniques, they just limit a few keywords and hope hackers don't come up with something that they haven't thought of like some escaping trick. Yeah that would probably work for a while. Until someone proves it doesn't :P It's not really rocket science anymore to make sure user input doesn't mix with your SQL. This…
Re: Password may not contain: select, insert, update, delete, drop
#160Earlier quoted context omitted.
You can hash them without a salt and store them in a set of passwords not associated to user accounts to enforce uniqueness without having to actually know the passwords
That still introduces a fairly serious vulnerability. The lack of salting on the "password uniqueness" database makes it a juicy target; an attacker with access to the database can attack those passwords, then try the ones which are known to be valid from there against the salted passwords in the user database.