1.应用程序未采用预编译的方式或使用框架提供的方式不正确,直接将客户端传递的参数拼接在SQL语句中并执行将导致SQL注入产生。
2. 采用floor()函数让MySQL报错来实现SQL注入,由此可从报错信息中直接获取管理员账号密码信息。
在SQL注入攻击中,如果应用程序返回了第一个(原始)查询得到的所有数据,那么通过在第一个查询后面注入一个UNION运算符,并添加另一个任意查询,便可以读取到数据库用户访问过的任何一张表