ShmooCon: Web app storage open to attack

Get ready for client-side SQL injection attacks, one researcher warns

New forms of off-line client-side storage, such as those specified by the emerging HTML 5 set of standards, could open entirely new kinds of attacks to Web application users, said Michael Sutton, vice president of security research for cloud security firm ZScaler.

"As sites start to adopt Google Gears and HTML 5, this whole concept of stealing data from client-side relational databases will become a much, much bigger issue," said Sutton, speaking Sunday at the ShmooCon hacker conference in Washington. "In my opinion [they are] a lot easier to attack."

As ever more applications are being developed that run entirely over the Web, a number of new technologies have been introduced to put small relational databases on users' machines. A database on the client machine can store user data, allowing applications to be used while not on the Internet.

While such off-line storage extends the flexibility of Web applications, it also opens up an entirely new type of vulnerability for users, one that allows snoopers to copy and change the content of these databases, Sutton said.

Sutton examined two examples of client-side storage now gaining traction, Google's Gears and the persistent Web Storage specification in the World Wide Web Consortium's HTML 5.

Right now, only Chrome, Safari and Mobile Safari -- the iPhone browser -- support the HTML 5 storage specifications, thanks to the fact they all use the HTML 5-friendly WebKit browser engine.

Though Google is phasing Gears out in favor of HTML 5, it provides a glimpse of how HTML 5 off-site storage could work for most users, Sutton noted.

Gears is a browser plug-in that allows Web applications to work off-line. With the user's permission, the plug-in installs a copy of SQLite, a lightweight relational database, on the local machine, which applications can use to store their data.

Just as malicious hackers have harvested data from server-side databases using techniques such as SQL injection, so too could they target these client-side databases, using similar methods.

In fact, accessing the client database would be easier in many ways.

Normally with SQL injection, the attacker will not know the database structure beforehand -- the names of the tables and columns and datatypes. All that must be sussed out through multiple guesses. In contrast, someone wishing to fish through the database supplied by a social-networking service could simply download an identical copy of the database from that service, which would reveal the database structure. The attacker could then query the tables to retrieve information.

"It really is easier from the attack perspective," Sutton said.

Also, server-side SQL injection attacks rely on Web sites that do not filter malformed SQL requests coming from users. An attacker can send malicious commands to the database engine, using an input box of some sort on a Web page. Only without a filter in place will the command be executed on the database engine.

On the client side, no such elaborate technique is needed. "I don't need a vulnerability in the way a traditional SQL injection would work," Sutton said. Instead, the attacker can just issue standard SQL queries to gather information.

Gears, like the proposed HTML 5 standards, uses JavaScript library functions to access the client-side database. So the trick to steal or alter data would involve slipping into a user-viewed Web page with a JavaScript call to the database.

Of course, with Gears and HTML 5, the user's browser will restrict access to the database only to the local machine or the Web site or applications associated with the database. But Sutton mentioned several proven techniques to trick a browser into granting access to the user's databases.

The most obvious technique would be XSS (Cross-Site Scripting), in which the surreptitious query code is embedded into a link to the legitimate site, which can be sent to the user to click. If the site is not secured, the server will render the illicit code on behalf of the attacker.

Sutton noted a survey conducted by WhiteHat Security, released last November, that found that 66 percent of Web sites are vulnerable to XSS attacks.

There are other ways of fooling the browser as well. "All it matters is that my browser must believe that it is going to the site that set up the database. If I have that and I have the ability to inject JavaScript into that page, now I can query that database," he said.

The browser could be sent to a malicious copycat site by the use of DNS hijacking, for instance. Or, if the attacker could write to the local file system, say through a browser vulnerability, then the local name resolution file (such as the hosts file on Windows) could be amended with false addresses. Or, a proxy could be set up between the user and the Internet.

What sort of information will be found on client-side databases? Pretty much anything, Sutton noted. Google itself uses Gears for services such as Gmail and Google Voice. A scan of the corresponding local databases used for those services turned up for Sutton items such as the e-mail headers in Gmail and contact information in the Google Voice database.

Although now still largely theoretical, such attacks may prove to be a significant problem in the years to come. "This isn't a passive sniffing, this is active. I don't have to wait for the information that I care about, I can actually query the database," Sutton said.

Join the PC World newsletter!

Error: Please check your email address.

Tags html 5cloud storage

Our Back to Business guide highlights the best products for you to boost your productivity at home, on the road, at the office, or in the classroom.

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Joab Jackson

IDG News Service
Show Comments

Cool Tech

Crucial Ballistix Elite 32GB Kit (4 x 8GB) DDR4-3000 UDIMM

Learn more >

Gadgets & Things

Lexar® Professional 1000x microSDHC™/microSDXC™ UHS-II cards

Learn more >

Family Friendly

Lexar® JumpDrive® S57 USB 3.0 flash drive 

Learn more >

Stocking Stuffer

Plox Star Wars Death Star Levitating Bluetooth Speaker

Learn more >

Christmas Gift Guide

Click for more ›

Most Popular Reviews

Latest News Articles


GGG Evaluation Team

Kathy Cassidy


First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.

Anthony Grifoni


For work use, Microsoft Word and Excel programs pre-installed on the device are adequate for preparing short documents.

Steph Mundell


The Fujitsu LifeBook UH574 allowed for great mobility without being obnoxiously heavy or clunky. Its twelve hours of battery life did not disappoint.

Andrew Mitsi


The screen was particularly good. It is bright and visible from most angles, however heat is an issue, particularly around the Windows button on the front, and on the back where the battery housing is located.

Simon Harriott


My first impression after unboxing the Q702 is that it is a nice looking unit. Styling is somewhat minimalist but very effective. The tablet part, once detached, has a nice weight, and no buttons or switches are located in awkward or intrusive positions.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?