International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 06 Issue: 11 | Nov 2019 www.irjet.net p-ISSN: 2395-0072
© 2019, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 239
Detection of SQL Injection using Machine Learning: A Survey
Tareek Pattewar
1
, Hitesh Patil
2
, Harshada Patil
3
, Neha Patil
4
, Muskan Taneja
5
, Tushar Wadile
6
1
Assistant Professor, Dept. of Information Technology, R. C. Patel Institute of Technology, Maharashtra, India
2,3,4,5,6
Student, Dept. of Information Technology, R. C. Patel Institute of Technology, Maharashtra, India
------------------------------------------------------------------------------***-----------------------------------------------------------------------------
Abstract - In today’s world, SQL Injection is a serious security threat over the internet for the various dynamic web
applications residing over the internet. The web-page that accept critical information from users store this information in the
form of online database. Web database is important because it’s one of the major ways businesses can access information that
isn’t generated by itself. Using SQL Injection, attackers could even gain unrestricted access to an entire database. The threats
include attacks such as Cross Side scripting (CSS), Denial of Service Attack (DoS) and Structured Query Language (SQL)
injection attack. SQL injection attack fall under top ten vulnerabilities. There are various machine learning algorithms used
for detection of SQL injection threats such as Naive Bias, Gradient Boosting and also various data encryption algorithm such as
MD5, AES and combination of both not only detect but also analyze threats.
Key Words: SQL Injection, Cross Side Scripting, Denial of Service Attack, Naïve Bias, Gradient Boosting
1. INTRODUCTION
SQL injection is an attack technique that exploits a security vulnerability occurring in the database layer of an application.
Hackers use injections to obtain unauthorized access to the underlying data, structure, and DBMS. By an SQL injection
attacker can embed a malicious code in a poorly-designed application andthen passed to the back end database. The malicious
data then produces database query results or actions that should never have been executed. By using an SQL Injection
vulnerability, given the right circumstances, an attacker can use it to bypass a web application’s authentication and
authorization mechanisms and retrieve the contents of an entire database.
SQL Injection can also be used to add, modify and delete records in a database, affecting data integrity. To such an extent, SQL
Injection can provide an attacker with unauthorized access to sensitive data.SQL injection is a code injection technique, used
to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution (e.g. to
dump the database contents to the attacker). SQL injection must exploit a security vulnerability in an application’ssoftware, for
example, when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or
user input is not strongly typed and unexpectedly executed. SQL injection is mostly known as an attack vector for websites but
can be used to attack any type of SQL database. SQL injection attacks allow attackers to spoof identity, tamper with existing data,
cause repudiation issues such as voiding transactions or changing balances, allow the complete disclosure of all data on the
system, destroy the data or make it otherwise unavailable, and become administrators of the database server.
A SQL injection attack consists of insertion or ”injection” of a SQL query via the input data from the client to the application.
A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete),
execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file present on
the DBMS file system and in some cases issue commands to the operating system. SQL injection attacks are a type of injection attack,
in which SQL commands are injected into data-plane input in order to effect the execution of predefined SQL commands.
Fig-1: SQL Injection [1]