Home > Software Quality Tips > > Spotting rich Internet application security flaws with WebGoat
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 


Spotting rich Internet application security flaws with WebGoat


Kevin Beaver, CISSP
07.07.2009
Rating: --- (out of 5)


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Kevin Beaver

Out of sight, out of mind that is the mantra that many people live by when it comes to Web security. If there are no "visible" holes like SQL injection and cross-site scripting, then all must be well in Securityland. That's hardly the case. Many developers, QA analysts and security managers don't realize the power rich Internet applications (RIAs) place in the hands of users. From AJAX to Web services, there is a whole lot of application logic exposed and ready for manipulation. Contrary to popular belief, these are the very things that automated Web vulnerability scanners are likely to miss.

So how can you learn about common RIA flaws? Well, all you have to do is find some free time and sit down and work through WebGoat. It has just what you need: a poorly-written application, learning modules for exploiting security flaws and specific solutions for each problem. WebGoat provides modules to learn about security in AJAX, Web services and a plethora of other Web components as shown in the following figure:


WebGoat's main interface showing the various Web flaws you can learn about

I think many people put off using WebGoat because they believe it's overly complex to setup. In fact, it's just the opposite. Depending on the speed of your Internet connection and computer, you should be able to get WebGoat up and running in about three minutes or less. The 83MB download takes the longest. Other than that, you simply unzip the file, run webgoat.bat to initiate the included Apache Tomcat server, point your Web browser to the main site on the localhost, login with guest/guest and you're off. If you don't already have one installed, you'll want to download a Web proxy such as Burp Suite or Paros as a lot of WebGoat's application manipulation requires such a tool.

The following figure shows how I used WebInspect's Web Proxy to capture behind-the-scenes traffic to solve one of the AJAX labs:


Working through a lesson using a Web proxy

The WebGoat AJAX security lessons mimic real-world application scenarios such as online banking transactions, rewards redemption, and application authentication. The WebGoat interface provides hints for solving the problems, displays certain parameters and even the Java source code, and also provides you with the solution to each lesson as shown in the following figure:


WebGoat interface options and solution for an AJAX security lesson

Additional rich Internet application exercises are included in the four separate Web Services components:

  1. Create a SOAP Request
  2. WSDL Scanning
  3. Web Service SAX Injection
  4. Web Service SQL Injection

You can even create your own lessons in WebGoat to share with others.

WebGoat provides some of the best Web security training you're going to get. And it's free! In addition to WebGoat, you may want to check out Foundstone's Hacme Travel, Hackme Bank and related teaching tools. They are also excellent and free resources for learning how applications are exploited.

Using WebGoat and similar tools will increase your Web security skills for RIAs and more. Doing so will make you more valuable to your employer and an asset to your businesses' overall information security program, something we can all use a little more of this day and time.

All you have to do is commit the time to work through the exercises.


About the author: Kevin Beaver is an independent information security consultant, speaker, and expert witness with Atlanta-based Principle Logic, LLC. He has over 20 years experience in the industry and specializes in performing independent information security assessments revolving around compliance and information risk management. Kevin has authored/co-authored seven books on information security including the ethical hacking books Hacking For Dummies and Hacking Wireless Networks For Dummies (Wiley). He's also the creator of the Security On Wheels information security audio books and blog providing security learning for IT professionals on the go. Kevin can be reached at www.principlelogic.com.


Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Software security testing and techniques
Web application security best practices: Tips on implementation
Testing strategies for complex environments
How to make your software tamperproof
Ways to approach application performance testing on a tight budget
How can I tell if my software security has been breached?
Is online application testing for smartphones different from other software testing?
Software testers facing six big challenges today, StarWest keynoter says
Lesser-known free software testing tools testers should try
Is manually testing a software project for flaws too risky?
Affordable automated testing tools for securing websites

Software security testing tools
How to make your software tamperproof
How can I tell if my software security has been breached?
Lesser-known free software testing tools testers should try
Demo: Using WebGoat, a free software testing tool
Rich Internet applications security testing checklist
Finding cross-site scripting (XSS) application flaws checklist
Webgoat Tutorial
Retaking command of your hacked software
Identifying whether or not your site or software has been hacked
Selecting the best tool for stress and load testing

Software testing and quality assurance (QA) fundamentals
Software Testing: New software testing technologies bring new challenges
Testing strategies for complex environments
Astronaut's STPCon advice: Teamwork delivers "The Right Stuff"
How to make your software tamperproof
Software consortium seeks standard quality metrics
Demo: Using WebGoat, a free software testing tool
Seven steps for a quality change and configuration management program
Winning responses to "Why is QA always the bottleneck?"
Where to find good methodology guides for software testing
5 ways to answer executives' unfair software test, QA questions

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
penetration testing  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Software Design & Testing - Project Management
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts