InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Study Shows That 11% of Sites Are Vulnerable to SQL Injection Attacks

Posted by Jonathan Allen on Sep 30, 2006

Sections
Operations & Infrastructure,
Architecture & Design,
Development
Topics
Java ,
Data Access ,
Languages ,
.NET ,
Programming ,
Security ,
Database ,
Validation ,
Vulnerabilities

In an informal study, Michael Sutton of SPI Dynamics was able to demonstrate that 80 out of 708 tested web sites were susceptible to SQL injection attacks.

In order to limit the test to sites that used a database, he first performed a Google search for sites with URLs containing "id=10". The assumption was that any site using a name=number pattern in the query string was most likely doing a database lookup. Using this, 1000 sites were selected.

After removing duplicates and non-functional sites, Michael Sutton was left with a pool of 708 candidate sites. By altering the query string, he found that 80 sites were returning error messages that suggested they were vulnerable to SQL injection attacks.

While study may not be formal enough for an academic paper, it does suggest that SQL vulnerabilities are a wide-spread problem among websites.

  • This article is part of a featured topic series on Java
Protection against SQL Injection (request for comments) by Thomas Mueller Posted
Re: Protection against SQL Injection (request for comments) by Paul H Posted
lies damn lies... by Jelmer Kuperus Posted
  1. Back to top

    Protection against SQL Injection (request for comments)

    by Thomas Mueller

    There is an abvious way to protect against this vulnerability: don't embed user input into the SQL statement, use parameterized statements instead. I suggest that this should be enforced by the database engine (or, by the driver), by disabling literals in SQL statements. See here for more details:

    www.h2database.com/html/advanced.html#sql_injec...

    What do you think about this solution?

  2. Back to top

    Re: Protection against SQL Injection (request for comments)

    by Paul H

    It's the standard solution :).
    Other problems (derived from the request params issues) might occur like removal/retrieval of items, for what you don't have credentials, common mistake in all the web apps, but that's a design problem.

    It would be nice to hear about solutions to avoid such flaws. I saw a few months ago an article about encrypting the url params etc, but i can't find the link :(.

  3. Back to top

    lies damn lies...

    by Jelmer Kuperus

    pfff or an error is shown because the parameter cannot be parsed to a string. This doesnt say anything