'Ardilla' Automatically Roots Out SQL Injection And XSS, Generates Attacks

MIT, Stanford, Syracuse researchers create technique, tool for finding and demonstrating common Web application flaws

Dark Reading Staff, Dark Reading

June 19, 2009

2 Min Read
Dark Reading logo in a gray background | Dark Reading

Researchers have built a tool that automatically finds and exploits SQL injection and cross-site scripting vulnerabilities in Web applications.

The so-called Ardilla tool uses a technique developed by the researchers -- MIT's Adam Kiezun, the University of Washington's Michael Ernst, Stanford's Philip Guo, and Syracuse University's Karthick Jayaraman -- that creates inputs that pinpoint bugs in Web applications and then generates SQL injection and XSS attacks. Ardilla is for PHP-based Web apps.

"Our technique creates real attack vectors, has few false positives, incurs no run-time overhead for the deployed application, works without requiring modification of application code, and handles dynamic programming-language constructs," the researchers wrote in their paper (PDF).

The researchers say Ardilla found 68 never-before found vulnerabilities in five different PHP applications using the tool -- 23 SQL injection and 45 XSS flaws.

"The technique generates sample inputs, symbolically tracks taints through execution (including through database accesses), and mutates the inputs to produce concrete exploits," the researchers wrote. It also catches vulnerabilities to the more dangerous form of XSS, persistent XSS attacks. Persistent XSS is a more powerful XSS attack where malicious code is stored on a Website for a period of time, and all a user has to do is view the page to get infected.

The researchers say their method is unlike existing vulnerability detection techniques, such as static analysis, dynamic monitoring, test generation, and "defensive coding" of Web apps. They argue that while these methods have their place, they have shortcomings, as well: Static-analysis tools, for example, can generate false alarms and don't provide examples of the types of inputs that exploit bugs.

"Ardilla is an automated tool that generates concrete attack vectors for Web applications written in PHP," the researchers say. "The user of Ardilla needs to specify the type of attack (SQLI, first order XSS, or second-order XSS), the PHP program to analyze, and the initial database state."

Then Ardilla automatically generates the attacks, they said.

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

About the Author

Dark Reading Staff

Dark Reading

Dark Reading is a leading cybersecurity media site.

Keep up with the latest cybersecurity threats, newly discovered vulnerabilities, data breach information, and emerging trends. Delivered daily or weekly right to your email inbox.

You May Also Like


More Insights