New Plug-ins Help Firefox Find XSS, SQL Injection

Powerful tools help identify vulnerabilities, but use them advisedly

4:14 PM -- Two new Firefox plug-ins were released last month to assist developers and security professionals in testing for cross-site scripting (XSS) and SQL injection vulnerabilities.

Security Compass unveiled XSS-Me at SecTor in October, and publicly released it along with SQL Inject-Me in late November. The plug-ins make testing as simple as opening the sidebar, selecting which form of variables to test, and hitting the "execute" button. The plug-ins don't require configuration of proxy settings because they integrate directly into Firefox -- unlike other Web application security tools, such as Paros, Burp, and WebScarab.

Even though these tools are powerful and extremely easy to use, don’t be lulled into thinking your Website is secure because XSS-Me and SQL Inject-Me do not return any vulnerabilities. I tested several production and non-production Websites that were vulnerable to both classes of attacks, and while most results were as expected, there were a few discrepancies.

For example, on one of the test sites, there was an authentication bypass in the login screen where the string ‘) OR 1=1-- would allow me to log in without providing a correct password. Checking the SQL Inject-Me FAQ page verified that advanced attacks may require manual testing -- such as blind SQL injection attempting to bypass authentication.

Basic SQL injection causes obvious error messages stating that the Web page input caused an error with the SQL query against the backend database. For blind SQL injection, no obvious error messages are displayed, which makes it difficult to tell if an attack was successful or not.

If these tools won’t help with advanced attacks, what good are they? Think low-hanging fruit. Unless you’re the target of a malicious attacker looking to steal your data or take advantage of your users, it’s unlikely that attackers are going to find your site’s vulnerabilities -- unless a search engine inadvertently reveals your vulnerability. (See Google Hacking Database: Error Messages.) Or if you use a popular Web application that is vulnerable. Or if you get a friendly email from (See 'You've Got Cross-Site Scripting'.)

By employing these tools during the development process, a lot of simple vulnerabilities can be eliminated, making the final audit quicker and easier. If you’re lucky, it might even instill a greater respect in your developers for secure coding practices.

– John H. Sawyer is a security geek on the IT Security Team at the University of Florida. He enjoys taking long war walks on the beach and riding pwnies. When he'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

Recommended Reading:
Editors' Choice
Kirsten Powell, Senior Manager for Security & Risk Management at Adobe
Joshua Goldfarb, Director of Product Management at F5