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.