SQLi-Fuzzer: A SQL Injection Vulnerability Discovery Framework Based on Machine Learning
Yunheng Luo · 2021 IEEE 21st International Conference on Communication Technology (ICCT) · 2021
With the development of information technology, the function of Web application becomes more consummates, but its security problems are more prominent, among which SQL injection has become one of the most serious threat to Web application today. With the increase of the complexity of Web application, the difficulty of SQL injection vulnerability discovery increases gradually, and the traditional vulnerability discovery technology is difficult to deal with it. Fuzzing is more suitable for discovering SQL injection vulnerability because of its unique advantages. However, Fuzzing application in the field of Web application vulnerability discovery is limited by the difficulty of initial testcase construction and the complexity of mutation strategy selection. In this paper, we research the application of machine learning in Fuzzing field and solve the weakness of Fuzzing by machine learning algorithm. We design and implement a SQL injection vulnerability discovery framework based on machine learning--SQLi-Fuzzer, which realizes the Fuzzing function based on Genetic Algorithm, and applies machine learning algorithm to the generation and mutation of testcase. We evaluate the performance of the SQLi-Fuzzer from two aspects: payload ratio and vulnerability discovery ability. The result shows that SQLi-Fuzzer can not only generate higher quality testcases, but also discover SQL injection vulnerability of Web application more effectively.