SQL注入类型主要有以下几种:
- 基于错误的注入:通过输入恶意的SQL语句使得程序返回错误信息或者异常,从而获取数据库结构或数据。
- 盲注入:通过判断程序的返回结果来获取数据,无需具体的错误信息。
- 基于时间的盲注入:通过程序返回结果的时间来判断是否注入成功,从而获取数据。
- 堆叠查询注入:在一次请求中执行多条SQL语句。
- 二次注入:利用前一次注入的结果进行下一次注入。
- 联合查询注入:在SQL语句中使用UNION关键字来合并两个查询的结果。
- 通过存储过程注入:通过修改存储过程中的参数来实现注入。
- 通过错误日志注入:通过触发错误并查看错误日志中的信息来获取数据。
- 通过报错注入:通过构造恶意的SQL语句来触发数据库报错,从而获取数据。
- 通过布尔盲注入:通过判断真假来获取数据。