Conquering Large Web Apps With Solid Methodology
This is one of those weeks where I'm trying to wrap up as much as possible before I'm out of the office for Black Hat, BSides, and Defcon. One of those things on my list is a Web application assessment for a client that's a monstrous, open-source beast with subapplications bolted on from all over the place and tons of places for vulnerabilities to hide.
This is one of those weeks where I'm trying to wrap up as much as possible before I'm out of the office for Black Hat, BSides, and Defcon. One of those things on my list is a Web application assessment for a client that's a monstrous, open-source beast with subapplications bolted on from all over the place and tons of places for vulnerabilities to hide.To get a handle on this particular Web app has been a challenge because there are regular updates coming down from the open source project's developers and being applied by the developers without notification to me. So one day, I'm working on a cross-site scripting (XSS) flaw to demo to the client showing them just how damaging an XSS attack can be, and the next day, it's been patched.
Honestly, except for them killing the live demos I had planned, I can't fault them much. It's a great thing that security fixes are being applied to the test environment quickly to make sure they won't adversely impact the production environment.
While I shouldn't be surprised, it's still a bit of a shock to see just how prevalent XSS is in this particular Web app. There have been a few other vulnerabilities like a logic flaw with privilege escalation and HTTP header injection, but the amount of XSS is stifling considering how much of the application relies on user input. Don't Web developers know better?
Well, they should, but instead of ranting about why, I wanted to point out some good resources for Web application penetration testing methodology, since that's where I'm spending a lot of my energy these days. If you haven't had much hands-on experience, I highly recommend the SANS Web Penetration Testing and Ethical Hacking course taught by Kevin Johnson. It will help you ramp up quickly to understanding the tools and methodology with a lot of hands-on examples in the class.
There's also a great book available if you're looking to fill in the gaps of your knowledge around Web application security and how to go about testing a Web app. It's "The Web Application Hacker's Handbook" and is co-authored by the developer of Burp Suite-one of my all time favorite Web application security tools. The book does a great job of laying out everything you need to know to start testing Web applications complete with an excellent methodology at the end.
What I like about both of the resources above is that they teach a repeatable methodology that can be applied to testing. Sure, there are times when you'll find yourself going down a rabbit hole because you found SQL or command injection early on, but having the methodology allows you to step back, reassess where you are, and continue on where you left on to be sure your testing is as comprehensive as possible.
If Web applications are important to your business, please invest the time and money to make sure your security staff has the know-how and can work with the developers to make sure your applications are secure, especially, if they're Internet-facing or contain sensitive data that you don't want falling into the wrong hands.
John H. Sawyer is a senior security engineer on the IT Security Team at the University of Florida. The views and opinions expressed in this blog are his own and do not represent the views and opinions of the UF IT Security Team or the University of Florida. When John's not fighting flaming, malware-infested machines or performing autopsies on blitzed boxes, he can usually be found hanging with his family, bouncing a baby on one knee and balancing a laptop on the other. Special to Dark Reading.
Read more about:
2010About the Author
You May Also Like