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
Latest Comment: LOL.
Current Issue
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
Published: 2014-04-19
Unspecified vulnerability in Virtual User Generator in HP LoadRunner before 11.52 Patch 1 allows remote attackers to execute arbitrary code via unknown vectors, aka ZDI-CAN-1833.

Published: 2014-04-19
Unspecified vulnerability in the Integration Service in HP Universal Configuration Management Database 9.05, 10.01, and 10.10 allows remote authenticated users to obtain sensitive information via unknown vectors, aka ZDI-CAN-2042.

Published: 2014-04-18
The session_link_x11_socket function in login/logind-session.c in systemd-logind in systemd, possibly 37 and earlier, allows local users to create or overwrite arbitrary files via a symlink attack on the X11 user directory in /run/user/.

Published: 2014-04-18
F-Secure Anti-Virus, Safe Anywhere, and PSB Workstation Security before 11500 for Mac OS X allows local users to disable the Mac OS X firewall via unspecified vectors.

Published: 2014-04-18
imapsync 1.564 and earlier performs a release check by default, which sends sensitive information (imapsync, operating system, and Perl version) to the developer's site.

Best of the Web