SQL injections are a major security threat. They embody one of the
most important security issues, risks inherent to non-validated user
input. A SQL injection exploits a vulnerability in a database through
the passing of malicious code in a SQL query/command. The
vulnerability occurs primarily because of the features of the SQL
language that allow such things as embedding comments using
double hyphens ‘--‘, concatenating SQL statements separated by
semicolons and the ability to query metadata from database data
dictionaries. The manipulation is to ‘trick’ the database into running
255
code that is not intended for a particular situation and SQL
injections occur when SQL queries are created dynamically using
user input. Students need to build an understanding of and an
appreciation for unintended consequences that might arise as more
access to data contained in databases is being made available over
public networks such as the Internet. There are many ways that a
SQL injection might be constructed so as an instructional aide, a
simple set of concrete animations examples might prove to be most
useful in explaining how this type of vulnerability works. The
animation scenario chosen for this demonstration exemplifies a
commonly published SQL injection from a login web page.