- Server expects password in encrypted form sent over HTTP.
- A genuine client does the encryption using JavaScript and then submits the password
- Somebody steals this "hash" by listening to the HTTP packets over the network.
- This cracker realizes that the password is a hash by studying its contents. By disabling JavaScript on his client-side, the cracker easily bypasses the security measure and uses the hash itself as the password. The server, expecting that, allows the login.
- The user gets compromised even if the hash cannot be decrypted because the server expects the hash.
The great HTTP security issue
Filed under: Software and Technology by HariPosted at 21:14 IST (last updated: Sat, 7 Feb 2009 @ 21:14 IST)
Everybody who uses any kind of web application has come across some kind of login situation or the other. Whether you are accessing an e-mail account or a social networking site, a discussion forum or any other personalized web service you usually log in with a unique user name and password.
Generally web developers are very keen on encrypting passwords and other sensitive information on the server itself, so that any compromise on the database does not lead to a leak of such data. But what developers cannot guard against is attacks against the HTTP protocol itself, which transmits everything as plain text, even an encrypted hash. So a security conscious web developer who encrypts every bit of information his application collects from the end user will still not be 100% safe against crackers.
The problem is that even if you encrypt passwords at the server side and make sure that the client side also encrypts the same password before submitting it to the back end script (using client side scripting, for instance), the hash itself can be stolen because HTTP transfers the hash as plain text.
Consider the sequence of events in such a case to allow for better understanding of how this problem is acute, especially with user authentication using passwords:
5 comment(s)
Leave a comment »Comment by drew (visitor) on Mon, 9 Feb 2009 @ 11:13 IST #
Comment by RT Cunningham (visitor) on Mon, 9 Feb 2009 @ 18:25 IST #
Comment by MrCorey (visitor) on Mon, 9 Feb 2009 @ 22:10 IST #
Comment by Hari (visitor) on Mon, 9 Feb 2009 @ 23:35 IST #
Comment by Hari (blog owner) on Tue, 10 Feb 2009 @ 17:33 IST #