Article

Analysis of SQL Injection Attack

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

SQL injection attacks are a serious security threat to Web applications. They allow attackers to obtain unrestricted access to the databases underlying the applications and to the potentially sensitive information these database contain. Various researchers and practitioners have proposed various methods to address the SQL injection problem. To address this problem, we present an extensive review of the various types of SQL injection attacks known to date. For each type of attack, we provide descriptions and examples of how attacks of that type could be performed. We also present a methodology to prevent SQL injection attacks. It concentrates on the SQL queries and SQL stored procedure where input parameters are injected by the attacker. After a rigorous input validation with our proposed SQL security model will ensure input validation.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Injection: This type of attack attempts to add additional SQL statements or commands to the existing SQL statement by exploiting a computer bug, which is caused by processing invalid data. Function Call Injection: in this type of attack, a database function or operating system function call is inserted into a vulnerable SQL statement to manipulate the data or make a privilege system call [4]. ...
... For some applications the data a system contains is the actual target. This data may be available to even unprivileged users, thus making further attacks on a system unnecessary [82]. The relevance of an attack surface towards specific parts of a system, is therefore significantly influenced by the data and services a software system provides [54]. ...
Thesis
Full-text available
The Linux kernel is one of the dominating operating systems used today. Like any complex system, the Linux kernel has a large attack surface that can include vulnerabilities. When adversaries exploit vulnerabilities in common software systems like the Linux kernel, the consequences can be severe. It is therefore crucial for the improvement of digital infrastructure security, to identify and mitigate software areas which are prone to be attacked. While there are already different approaches to assess and mitigate the attack surface of Linux, this research project aims to identify the risks associated with different Linux kernel components, by using software complexity metrics. The resulting measures can help identify highly complex kernel features to create secure kernel configurations.
... There have been many researches that have developed various methods to detect and prevent SQLIAs. Each of these methods covers an objective or set of objectives related to this type of attacks, but there is no method that can cover the whole system from being attacked by SQL injections [6]. ...
Article
Full-text available
SQL injection is a type of attacks used to gain, manipulate, or delete information in any data-driven system whether this system is online or offline and whether this system is a web or non-web-based. It is distinguished by the multiplicity of its performing methods, so defense techniques could not detect or prevent such attacks. The main objective of this paper is to create a reliable and accurate hybrid technique that secure systems from being exploited by SQL injection attacks. This hybrid technique combines static and runtime SQL queries analysis to create a defense strategy that can detect and prevent various types of SQL injection attacks. To evaluate this suggested technique, a large set of SQL queries have been executed through a simulation that had been developed. The results indicate that the suggested technique is reliable and more effective in capturing more SQL injection types compared to other SQL injection detection methods.
... There have been many researches that have developed various methods to detect and prevent SQLIAs. Each of these methods covers an objective or set of objectives related to this type of attacks, but there is no method that can cover the whole system from being attacked by SQL injections [6]. ...
Article
Full-text available
SQL injection is a type of attacks used to gain, manipulate, or delete information in any data-driven system whether this system is online or offline and whether this system is a web or non-web-based. It is distinguished by the multiplicity of its performing methods, so defense techniques could not detect or prevent such attacks. The main objective of this paper is to create a reliable and accurate hybrid technique that secure systems from being exploited by SQL injection attacks. This hybrid technique combines static and runtime SQL queries analysis to create a defense strategy that can detect and prevent various types of SQL injection attacks. To evaluate this suggested technique, a large set of SQL queries have been executed through a simulation that had been developed. The results indicate that the suggested technique is reliable and more effective in capturing more SQL injection types compared to other SQL injection detection methods.
Article
Full-text available
SQL injection is one amongst the most dangerous vulnerabilities for Web applications, and it is becoming a frequent cause of attacks as many systems are migrating towards the Web. This paper proposes an approach and a tool-named V1p3R ("viper") for Web application penetration testing. The approach is based on pattern matching of error messages and on outputs produced by the application under test, and relies upon an extensible knowledge base consisting in a large set of templates. Results of an empirical study carried out on 12 real Web applications and aimed at comparing V1p3R with SQLMap showed the higher performances of the proposed approach with respect to the existing state-of-the-practice.
Conference Paper
Full-text available
In this paper, we propose an obfuscation/ deobfuscation based technique to detect the presence of possible SQL Injection Attacks (SQLIA) in a query before submitting it to a DBMS. This technique combines static and dynamic analysis. In the static phase, the queries in the application are replaced by queries in obfuscated form. The main idea behind obfuscation is to isolate all the atomic formulas from other control elements of the query. During the dynamic phase, the user inputs are merged into the obfuscated atomic formulas, and the dynamic verifier analysis the presence of possible SQLIA at atomic formula level. Finally, a deobfuscation step is performed to recover the original query before submitting it to the DBMS.
Conference Paper
Full-text available
An SQL injection attack targets interactive web applica- tions that employ database services. Such applications ac- cept user input, such as form elds, and then include this input in database requests, typically SQL statements. In SQL injection, the attacker provides user input that results in a dieren t database request than was intended by the application programmer. That is, the interpretation of the user input as part of a larger SQL statement, results in an SQL statement of a dieren t form than originally intended. We describe a technique to prevent this kind of manipula- tion and hence eliminate SQL injection vulnerabilities. The technique is based on comparing, at run time, the parse tree of the SQL statement before inclusion of user input with that resulting after inclusion of input. Our solution is ecien t, adding about 3 ms overhead to database query costs. In addition, it is easily adopted by application pro- grammers, having the same syntactic structure as current popular record set retrieval methods. For empirical anal- ysis, we provide a case study of our solution in J2EE. We implement our solution in a simple static Java class, and show its eectiv eness and scalability.
Article
SQL injection attacks pose a serious security threat to Web appli- cations: they allow attackers to obtain unrestricted access to the databases underlying the applications and to the potentially sensi- tive information these databases contain. Although researchers and practitioners have proposed various methods to address the SQL injection problem, current approaches either fail to address the full scope of the problem or have limitations that prevent their use and adoption. Many researchers and practitioners are familiar with only a subset of the wide range of techniques available to attackers who are trying to take advantage of SQL injection vulnerabilities. As a consequence, many solutions proposed in the literature address only some of the issues related to SQL injection. To address this problem, we present an extensive review of the different types of SQL injection attacks known to date. For each type of attack, we provide descriptions and examples of how attacks of that type could be performed. We also present and analyze existing detection and prevention techniques against SQL injection attacks. For each tech- nique, we discuss its strengths and weaknesses in addressing the entire range of SQL injection attacks.
Conference Paper
Our research objective is to facilitate the identification of true input manipulation vulnerabilities via the combination of static analysis, runtime detection, and automatic testing. We propose an approach for SQL injection vulnerability detection, automated by a prototype tool SQLInjectionGen. We performed case studies on two small Web applications for the evaluation of our approach compared to static analysis for identifying true SQL injection vulnerabilities. In our case study, SQLInjectionGen had no false positives, but had a small number of false negatives while the static analysis tool had a false positive for every vulnerability that was actually protected by a white or black list.
Paulo Verissimo and Rui Neves has suggested the attack injection methodology in their paper named "Using Attack Injection to Discover New Vulnerabilities
  • Joao Antunes
  • Nuno Neves
  • Miguel Correia
Joao Antunes,Nuno Neves,Miguel Correia, Paulo Verissimo and Rui Neves has suggested the attack injection methodology in their paper named "Using Attack Injection to Discover New Vulnerabilities"
Blind SQL Injection Automation Techniques
  • Usa Black Hat Bfiefings
  • Cameron Hotchkies
Black Hat Bfiefings USA ,Cameron Hotchkies,"Blind SQL Injection Automation Techniques",2004.
Blindfolded SQL injection
  • Ofer Maor
  • Amichai Shulman
Ofer Maor and Amichai Shulman, "Blindfolded SQL injection."