Application Security // Database Security
07:10 AM
Connect Directly
Repost This

Finding SQL Injection Attacks In Unexpected Quarters

Injection by Google bot and through modern mobile and Web apps will require adjustments

SQL injection attacks have been plaguing the Web for so long that it may seem as if they've grown ho-hum. But even while the fundamentals stay the same -- namely, malforming application input to trick databases into thinking they've been queried with SQL statements -- new Web and mobile application development trends and new attack techniques using old SQL injection tricks are casting SQLi in a new light.

For example, researchers with Sucuri Security early this month announced they discovered how attackers were able to leverage Google search engine bots to help launch SQLi attacks against websites.

"In this scenario, the bot was crawling Site A. Site A had a number of links embedded that had the SQLi requests to the target site, Site B," wrote Daniel Cid, a researcher with the firm. "Google Bot then went about its business crawling pages and following links like a good boy, and in the process followed the links on Site A to Site B, and began to inadvertently attack Site B."

[How do you know if you've been breached? See Top 15 Indicators of Compromise.]

As Cid explains, this method allows the attacker to let the Google bot do the heavy lifting in the attack while providing a way to cover tracks forensically and avoid Web application firewall detection.

While the Google bot technique is a more exotic example of how SQLi attacks have changed without many shifts in the underlying technology principles behind them, IT could be dealing with thornier but workaday changes in the SQL injection vulnerability landscape very soon. The shift will come as more SQLi vulnerabilities are exploited in unexpected mobile and Web applications, says Dan Kuykendall, co-CEO and CTO of NTO Objectives. These are developed using new programming formats and development frameworks, such as JSON, AMF, and REST, that don't necessarily depend on the name-value pair data representation that SQLi attacks tend to target for injection.

"The world has been changing -- there are a whole bunch of new formats that we've seen traffic being sent in. There are all these new ways of building apps, you've got all this REST, you've got AJAX, and you've got these much more dynamic apps, mobile apps," Kuykendall says. "And they've all got much more different ways of packaging up the data. They don't like to settle for the name-value pairs of the past."

While it would be easy to then assume these new applications are, as a result, not vulnerable to SQLi attacks, the truth is different, Kuykendall explains. These applications -- whether mobile or Web -- are still passing large amounts of data between the application and the database, and are still vulnerable to injection as long as attackers take a little time to understand how the syntax has changed.

"I can still do my classic SQL injection attacks. I just have to start adjusting where I apply the payloads," he says. "I no longer am able to put in the name-value pair. Instead I'm having to look and understand the format, understand how to inject into that, and then I can still do my SQL attacks."

The difficulty is because the format of how these SQLi payloads are delivered looks differently in modern applications, many traditional application scanners are missing the vulnerabilities. But as he puts it, developers are still making the same core mistakes they always have.

"They're passing data back and forth; they're taking that data and doing the same things they've always done with them and use them in SQL statements. A lot of times because they're getting the data from some parser, then the developer uses the data, and they trust the client," Kuykendall says. "Ultimately, these are just parameters; developers are taking values form the client and doing something with that. And the more it's abstracted, the more likely they miss out on doing the input escaping or whatever they need to do [to prevent injection]."

Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message. Ericka Chickowski specializes in coverage of information technology and business innovation. She has focused on information security for the better part of a decade and regularly writes about the security industry as a contributor to Dark Reading.  View Full Bio

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
User Rank: Apprentice
11/15/2013 | 1:03:28 PM
re: Finding SQL Injection Attacks In Unexpected Quarters
Master the Art of Exploiting Injection Flaws in the SQLi Lab:


4 databases, 29 challenges, 90+ objectives, 1.5GB of Video solution, unlimited fun!
Register for Dark Reading Newsletters
White Papers
Current Issue
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
Published: 2014-04-22
Cross-site scripting (XSS) vulnerability in Craig Knudsen WebCalendar before 1.2.5, 1.2.6, and other versions before 1.2.7 allows remote attackers to inject arbitrary web script or HTML via the Category Name field to category.php.

Published: 2014-04-22
The Show In Browser (show_in_browser) gem 0.0.3 for Ruby allows local users to inject arbitrary web script or HTML via a symlink attack on /tmp/browser.html.

Published: 2014-04-22
Cross-site scripting (XSS) vulnerability in Apache Archiva 1.2 through 1.2.2 and 1.3 before 1.3.8 allows remote attackers to inject arbitrary web script or HTML via unspecified parameters, related to the home page.

Published: 2014-04-22
lib/npm.js in Node Packaged Modules (npm) before 1.3.3 allows local users to overwrite arbitrary files via a symlink attack on temporary files with predictable names that are created when unpacking archives.

Published: 2014-04-22
The openTempFile function in goo/ in Xpdf and Poppler 0.24.3 and earlier, when running on a system other than Unix, allows local users to overwrite arbitrary files via a symlink attack on temporary files with predictable names.

Best of the Web