  In today's world, Web applications play a very important role in individual
life as well as in any country's development. Web applications have gone
through a very rapid growth in the recent years and their adoption is moving
faster than that was expected few years ago. Now-a-days, billions of
transactions are done online with the aid of different Web applications. Though
these applications are used by hundreds of people, in many cases the security
level is weak, which makes them vulnerable to get compromised. In most of the
scenarios, a user has to be identified before any communication is established
with the backend database. An arbitrary user should not be allowed access to
the system without proof of valid credentials. However, a crafted injection
gives access to unauthorized users. This is mostly accomplished via SQL
Injection input. In spite of the development of different approaches to prevent
SQL injection, it still remains an alarming threat to Web applications. In this
paper, we present a detailed survey on various types of SQL Injection
vulnerabilities, attacks, and their prevention techniques. Alongside presenting
our findings from the study, we also note down future expectations and possible
development of countermeasures against SQL Injection attacks.
