Wednesday, October 10, 2012
"Sorry, that password is already in use"
http://lists.webappsec.org/pipermail/websecurity_lists.webappsec.org/2012-October/008535.html
Thank you Jim Burton for being concerned and speaking out. I have to admit laughing out loud when first reading this. That may have been wrong of me.
Wednesday, June 6, 2012
Time to Update Your LinkedIn Password
If you are curious about whether your password was compromised, head over to LeakedIn.org, a site just launched by PHP security guru Chris Shiflett. (Side note: Chris authors a very informative blog and I've learned a lot about AppSec from his posts over the years.) Once there, enter your LinkedIn password. Client-side JavaScript code will produce the corresponding SHA-1 hash, then send the hash value to the server. You will soon find out if your password was part of the 6.5 million that were leaked and whether or not the hash was cracked. If you don't feel comfortable entering your password, just run HashCalc locally to calculate the SHA-1 hash of your password and enter the hash value instead. I did this check today and my password was indeed among those that were leaked, but it hadn't been cracked yet.
Needless to say, I've changed my LinkedIn password. It's a perfect example of why you should be using different passwords for every site you use.
Tuesday, May 22, 2012
AppSec Shouldn't Be Something Special You Do
To really improve the security posture of applications, development shops must get to a place where security is simply part of their normal development process. In other words, designing secure software and writing hack-proof code shouldn't be a special side project or considered for the first time during the testing phase.
Making application security an inherent part of your SDLC can be done on a gradual basis. You could start with instructor-led training of developers to teach them appsec concepts. I did this type of training for several years. A more scalable way to teach developers is computer based training (CBT), also known as eLearning. This may be your only option with hundreds or thousands of developers on staff and limited budget.
Another key piece to building security into your SDLC is regular static and dynamic testing of applications. The goal is to find vulnerabilities and fix them before going live. Static analysis looks at an application from the inside out. You may also hear this referred to as white-box testing or static application security testing (SAST). Static analysis can be done for any type of application (web, thick client, mobile, glue code, etc). Dynamic testing involves looking at a web application from the outside in and is also known as black-box testing or dynamic application security testing (DAST). Both static and dynamic testing should be done to have the best chance at finding all the vulnerabilities. They are complementary approaches, although there is some overlap in the issues they can find.
Thursday, July 28, 2011
Latest OWASP Educational Video
Friday, July 1, 2011
Account Lockout Fail
Anyway, one of the things I like to check is whether or not the account is locked after a certain number of failed attempts to answer the security question(s). This is an important defense against attackers who are trying to break in via the Forgot Password functionality. Sure enough, the message "account has been locked" appeared after I purposefully entered 3 wrong answers.
I was just about to make a note about this commendable practice, but something caught my eye. The input field was still there on the page. That's not something you normally see. Usually the application takes it away after a lockout occurs. So being a curious fellow, I proceeded to enter the correct answer to the question. Lo and behold the application sent me to the next page where I was allowed to reset the password on the account. Now that's an account lockout fail! I'm not sure why or how the developers created a lockout message without actually coding the lockout. Just another example of how difficult app security can be.
Thursday, April 21, 2011
Blackhole Exploit Kit
If successful, the malicious JavaScript code will execute in users' browsers. This is bad. Think of it as executable code, chosen by an attacker, running on a victim's computer. One example of the nastiness that can result is the Blackhole Exploit Kit. This malware originated in Russia and is openly for sale. Blackhole is designed to compromise victim computers by exploiting known vulnerabilities in certain software products like Adobe Reader or Java. Symantec researchers have provided a nice writeup of how Blackhole works. Typically, the badness begins with an iframe (created by JavaScript of course) that points to a Blackhole server.
A U.S. Postal Service website was recently found to have been compromised with Blackhole. There is some question how it happened. Regardless, the thing to keep in mind is that a web application that allows for SQL injection might very well lead to stored XSS attacks.
Sunday, March 6, 2011
Educational Videos about Web Application Security
Saturday, September 11, 2010
Latest Forgot Password Best Practices Doc
The white paper was used as the basis for the OWASP Forgot Password Cheat Sheet.