
three languages remain susceptible to SQL-IDIAs and
would benefit from support for identifiers in prepared
statements.
Based on these analyses, we recommend that ex-
isting prepared-statement implementations expand to
cover insertions of identifiers. For example, previ-
ous work has described and analyzed a non-public
proof-of-concept implementation of prepared state-
ments with coverage of identifiers (Cetin et al., 2019).
Potential directions for future work include ex-
panding a large-scale open-source DBMS such as
MySQL to include support for identifiers in prepared
statements, and incorporating these additions into
front-end APIs for commonly used languages.
REFERENCES
Anley, C. (2002). Advanced SQL injection in SQL server
applications. Technical report. https://crypto.stanfor
d.edu/cs155old/cs155-spring11/papers/sql injection
.pdf.
Bandhakavi, S., Bisht, P., Madhusudan, P., and Venkatakr-
ishnan, V. N. (2007). CANDID: Preventing SQL in-
jection attacks using dynamic candidate evaluations.
In Proceedings of the ACM Conference on Computer
and Communications Security (CCS). https://doi.org/
10.1145/1315245.1315249.
Cetin, C., Goldgof, D., and Ligatti, J. (2019). SQL-
identifier injection attacks. In IEEE Conference on
Communications and Network Security (CNS). https:
//doi.org/10.1109/CNS.2019.8802743.
Clarke-Salt, J. (2012). SQL Injection Attacks and Defense.
Elsevier, 2nd edition.
CVE Details (2019). Vulnerability distribution of CVE se-
curity vulnerabilities by types. https://www.cvedetails
.com/vulnerabilities-by-types.php. Retrieved October
15, 2023.
Gousios, G. and Spinellis, D. (2012). GHTorrent: GitHub’s
data from a firehose. In IEEE Working Conference on
Mining Software Repositories (MSR). https://doi.org/
10.1109/MSR.2012.6224294.
Gousios, G., Vasilescu, B., Serebrenik, A., and Zaidman,
A. (2014). Lean GHTorrent: GitHub data on demand.
In Proceedings of the Working Conference on Mining
Software Repositories (MSR). https://doi.org/10.114
5/2597073.2597126.
Grigorik, I. (2023). GH Archive. https://www.gharchive.or
g. Retrieved April 26, 2023.
Halfond, W. G. J. and Orso, A. (2005). AMNESIA: Anal-
ysis and Monitoring for NEutralizing SQL-Injection
Attacks. In Proceedings of the IEEE/ACM Interna-
tional Conference on Automated Software Engineer-
ing (ASE). https://doi.org/10.1145/1101908.1101935.
Halfond, W. G. J., Viegas, J., and Orso, A. (2006). A clas-
sification of SQL-injection attacks and countermea-
sures. In Proceedings of the IEEE international sym-
posium on secure software engineering, volume 1.
Johnson, B., Song, Y., Murphy-Hill, E., and Bowdidge, R.
(2013). Why don’t software developers use static anal-
ysis tools to find bugs? In Proceedings of the Inter-
national Conference on Software Engineering (ICSE).
https://doi.org/10.1109/ICSE.2013.6606613.
MITRE Corporation (2020). CVE - common vulnerabili-
ties and exposures. https://cve.mitre.org/. Retrieved
October 15, 2023.
Nagy, C. and Cleve, A. (2017). A static code smell de-
tector for SQL queries embedded in Java code. In
IEEE International Working Conference on Source
Code Analysis and Manipulation (SCAM). https:
//doi.org/10.1109/SCAM.2017.19.
Open Web Application Security Project (2018). SQL injec-
tion prevention - OWASP cheat sheet series. https:
//www.owasp.org/index.php/SQL Injection Prevent
ion Cheat Sheet. Retrieved October 15, 2023.
Open Web Application Security Project (2021). OWASP
top ten – 2021. https://owasp.org/www-project-top-t
en/. Retrieved April 26, 2023.
PHPZag Team (2023). Live add edit delete datatables
records with Ajax, PHP and MySQL. https://www.
phpzag.com/live-add-edit-delete-datatables-records
-with-ajax-php-mysql/. Retrieved October 15, 2023.
Ray, D. and Ligatti, J. (2012). Defining code-injection at-
tacks. In Proceedings of the ACM SIGPLAN-SIGACT
Symposium on Principles of Programming Languages
(POPL). https://doi.org/10.1145/2103656.2103678.
Ray, D. and Ligatti, J. (2014). Defining injection attacks. In
Proceedings of the International Information Security
Conference. https://doi.org/10.1007/978-3-319-132
57-0 26.
Son, S., McKinley, K. S., and Shmatikov, V. (2013). Diglos-
sia: Detecting code injection attacks with precision
and efficiency. In Proceedings of the ACM SIGSAC
Conference on Computer & Communications Security
(CCS). https://doi.org/10.1145/2508859.2516696.
sqlmapproject (2023). sqlmap. https://github.com/sqlmapp
roject/sqlmap. Retrieved October 15, 2020.
State of the Octoverse (2023). The global developer com-
munity. https://octoverse.github.com/2022/develope
r-community. Retrieved April 26, 2023.
Woolson, R. F., Bean, J. A., and Rojas, P. B. (1986). Sample
size for case-control studies using Cochran’s statistic.
Biometrics, 42(4):927–932. https://doi.org/10.2307/
2530706.
WordPress (2023). wpdb::esc
like. https://developer.word
press.org/reference/classes/wpdb/esc like/. Retrieved
April 26, 2023.
Large-Scale Analysis of GitHub and CVEs to Determine Prevalence of SQL Concatenations
297