The reliance on Web applications has increased rapidly over the years. At the same time, the quantity and impact of application security vulnerabilities have grown as well. Amongst these vulnerabilities, SQL Injection has been classified as the most common, dangerous and prevalent web application flaw. In this paper, we propose Escrow, a large-scale SQL Injection detection tool with an exploitation module that is light-weight, fast and platform-independent. Escrow uses a custom search implementation together with a static code analysis module to find potential target web applications. Additionally, it provides a simple to use graphical user interface (GUI) to navigate through a vulnerable remote database. Escrow is implementation-agnostic, i.e. It can perform analysis on any web application regardless of the server-side implementation (PHP, ASP, etc.). Using our tool, we discovered that it is indeed possible to identify and exploit at least 100 databases per 100 minutes, without prior knowledge of their underlying implementation. We observed that for each query sent, we can scan and detect dozens of vulnerable web applications in a short space of time, while providing a means for exploitation. Finally, we provide recommendations for developers to defend against SQL injection and emphasise the need for proactive assessment and defensive coding practices.
[1]
Angelos D. Keromytis,et al.
SQLrand: Preventing SQL Injection Attacks
,
2004,
ACNS.
[2]
Sangita Roy,et al.
Detecting and Defeating SQL Injection Attacks
,
2011
.
[3]
Giovanni Vigna,et al.
Why Johnny Can't Pentest: An Analysis of Black-Box Web Vulnerability Scanners
,
2010,
DIMVA.
[4]
Massimiliano Di Penta,et al.
A heuristic-based approach for detecting SQL-injection vulnerabilities in web applications
,
2010,
SESS '10.
[5]
Alessandro Orso,et al.
A Classification of SQL-Injection Attacks and Countermeasures
,
2006
.
[6]
Erick D. Slazinski.
Structured Query Language (SQL)
,
2004
.