Home > Software Quality Tips > Application Security Book Excerpts > Commonly-overlooked security flaws in rich Internet applications
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

APPLICATION SECURITY BOOK EXCERPTS

Commonly-overlooked security flaws in rich Internet applications


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


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


Kevin Beaver
In the past, I've talked about some commonly-overlooked Weaknesses you don't want to miss in standard Web Applications. The time is right to cover the same topic in a new context: rich Internet applications. As with most things IT-related, the more complex the application the more complex (and critical) the security vulnerabilities become. Here are some issues I often come across when testing these applications:

  1. Flash cross-site scripting

Many people think of Flash as a cutesy marketing tool. As with any other code, Flash, can contain exploitable vulnerabilities. Using a free tool such as OWASP's SWFIntruder and HP's SWFScan you can uncover cross-site scripting and more as shown in Figure 1:


Figure 1 – Using HP's SWFScan to uncover XSS in Flash files

Use these free Flash scanners to your advantage because you never know what they're going to find. For example, here's an interesting story about how decompiling Flash code, revealed the logic behind a Flash-based online game that could be exploited and used as a "cheat" to milk a business of its giveaways.

  1. Weak Flash configurations

Starting with the Flash Player 7 Framework, the crossdomain.xml policy file was introduced which allows for Flash content access across domains. The problem is that if the cross domain policy is configured to allow access from any domain, it can lead to the recovery of cookies and facilitate cross-site request forgery (XSRF) attacks. An example of a weak crossdomain.xml configuration is:

        <?xml version="1.0"?>
        <!DOCTYPE cross-domain-policy blah, blah, blah>
        <cross-domain-policy>
        <allow-access-from domain="*" />
        </cross-domain-policy> 

Rather than allow access from all (*) domains, this file should specify only the domains that need access.

  1. Web service SQL injection

Web services are those long forgotten souls of Web applications, but they can have vulnerabilities just as any other part of the system. SQL injection is probably the most common issue I see. The following HTTP request and HTML responses using the Web Services Scanner built into the Acunetix Web Vulnerability Scanner product shows what can happen:

            HTTP Request
POST /acuservice/service.asmx HTTP/1.0
Accept: */*
Content-Type: text/xml
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Host: testaspnet.acunetix.com
Content-Length: 549
Connection: Close
SOAPAction: "http://tempuri.org/GetUserInfo"
Expect: 100-continue
Pragma: no-cache

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"  xmlns:xsd="http://www.w3.org/1999/XMLSchema"  xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"  xmlns:m0="http://tempuri.org/"  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<GetUserInfo xmlns="http://tempuri.org/">
<username>&apos; or 1=1 -- </username>
<password>1</password>
</GetUserInfo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

            HTML Response
falseSELECT * FROM users WHERE username='' or 1=1 -- ' AND password='c4ca4238a0b923820dcc509a6f75849b'0bladebogdan calin2009-06-02T16:50:00.4671234512345 address

Sure, it can be tricky for malicious attackers to enumerate web services, so that can help, but security by obscurity is never foolproof. Check your Web services for security vulnerabilities too.

  1. Application availability issues

I've seen several rich Internet applications brought to a crawl by running a simple Web vulnerability scanner against them, and that's just from one host. What if you have dozens, hundreds, or thousands of users connecting at the same time. Application availability and denial of service testing is something you can't overlook. Depending on usage patterns, how your application interacts with users, and specific coding logic you could defy logic and very well increase the load on your server(s) with AJAX and other rich content. Once you hear about slow response times it may be too late to be able to provide a quick fix – especially if you have an intentional denial of service situation taking place.

Using a tool such as the N-Stalker Web Application Security Scanner Load Tester you can record macros for accessing the AJAX and related components of your application and then check for specific response times and transfer rates as shown in Figure 2:


Figure 2 – Using N-Stalker's Load Tester tool to test application load weaknesses

There are other dedicated application stress testing tools such as WAPT and NeoLoad if you want to dig deeper into this area. However you go about it, the important thing is to not ignore application availability issues.

Never lose sight of the fact that no matter how much security testing, scanning, and hacking you do, odds are you won't uncover every weakness – especially at first. Rich Internet applications are just too complicated. As your applications become "richer" so will the security flaws. This highlights the importance of checking these applications on a periodic and consistent basis. Not only will you get better at finding the flaws that matter but the tools you use will mature and be able to root out more of these rich vulnerabilities.

Commonly-overlooked weaknesses you don't want to miss in standard Web Applications
No matter how much Web application vulnerability testing you do there will always be weaknesses you'll overlook. This is regardless of your expertise and the quality of your tools. What makes true security professionals stand out is their ability to learn from their oversights and vow to test with a sharper eye next time.


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
Application Security Book Excerpts
Cybersecurity czar candidate questions clout of new position
Common mistakes in real-time Java programming
Web Security Testing Cookbook sample recipe
Fuzzing for Software Security Testing and Quality Assurance: Chapter 3, Testing for Quality
Software Security Engineering: A Guide for Project Managers -- Chapter 3, Requirements Engineering for Secure Software
InfoSecurity 2008 Threat Analysis, Chapter 4: XSS Theory
Google Hacking for Penetration Testers, Volume 2: Chapter 6, Locating Exploits and Finding Targets
Ajax Security -- Chapter 6, Transparency in Ajax Applications
Fuzzing: Brute Force Vulnerability Discovery -- Chapter 12, Fuzzing Frameworks
Cross Site Scripting Attacks: XSS Exploits and Defense -- Chapter 5, Advanced XSS Attack Vectors

Software security testing and techniques
Web application security best practices: Tips on implementation
Testing strategies for complex environments
Mobile applications and regression testing
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?

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

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