DeepSQLi: Deep Semantic Learning for Testing SQL Injection

by   Muyang Liu, et al.

Security is unarguably the most serious concern for Web applications, to which SQL injection (SQLi) attack is one of the most devastating attacks. Automatically testing SQLi vulnerabilities is of ultimate importance, yet is unfortunately far from trivial to implement. This is because the existence of a huge, or potentially infinite, number of variants and semantic possibilities of SQL leading to SQLi attacks on various Web applications. In this paper, we propose a deep natural language processing based tool, dubbed DeepSQLi, to generate test cases for detecting SQLi vulnerabilities. Through adopting deep learning based neural language model and sequence of words prediction, DeepSQLi is equipped with the ability to learn the semantic knowledge embedded in SQLi attacks, allowing it to translate user inputs (or a test case) into a new test case, which is semantically related and potentially more sophisticated. Experiments are conducted to compare DeepSQLi with SQLmap, a state-of-the-art SQLi testing automation tool, on six real-world Web applications that are of different scales, characteristics and domains. Empirical results demonstrate the effectiveness and the remarkable superiority of DeepSQLi over SQLmap, such that more SQLi vulnerabilities can be identified by using a less number of test cases, whilst running much faster.



page 1

page 2

page 3

page 4


Evolutionary Multi-Task Injection Testing on Web Application Firewalls

Web application firewall (WAF) plays an integral role nowadays to protec...

You shall not pass: Mitigating SQL Injection Attacks on Legacy Web Applications

SQL injection (SQLi) attacks pose a significant threat to the security o...

Why Charles Can Pen-test: an Evolutionary Approach to Vulnerability Testing

Discovering vulnerabilities in applications of real-world complexity is ...

Simulating SQL Injection Vulnerability Exploitation Using Q-Learning Reinforcement Learning Agents

In this paper, we propose a first formalization of the process of exploi...

Spinner: Automated Dynamic Command Subsystem Perturbation

Injection attacks have been a major threat to web applications. Despite ...

A Survey on Adaptive Random Testing

Random testing (RT) is a well-studied testing method that has been widel...

Fuzzy neural networks to create an expert system for detecting attacks by SQL Injection

Its constant technological evolution characterizes the contemporary worl...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.