判断sql注入的重要条件
- 是否存在错误信息的反馈,如果有,则有sql漏洞(可以利用错误信息的反馈,提交一些恶意代码),反之没有
基于从服务器接收到的响应
- 基于错误的Mysql注入
- 联合查询的类型
- 堆查询注射
- sql盲注(布尔sql盲注、时间sql盲注、报错sql盲注)
基于如何处理输入sql查询
- 基于字符串
- 数字或整数为基础
基于程度和顺序的注入
- 一阶注射(输入注射语句对web产生直接影响,出现结果)
- 二阶注射(输入提交的语句不对web产生影响,需要其它的辅助)
基于注入点的位置
- 通过用户输入的表单域的注射
- 通过cookie注射
- 通过服务器变量注射(基于头部信息的注射)
函数
系统函数
1 | 1. ---version() Mysql的版本 |
字符串连接函数
1 | 1. ---concat(str1,str2,...) 没有分隔符地连接字符串 |
尝试的语句
1 | or 1=1--+ |
information_schema
- infromation_schema数据表中存在着mysql服务器所有的数据,如数据库名和数据库表和表栏的数据类型和访问权限等,
即这台mysql服务器有多少数据库,数据库里有多少张数据表,表里的字段类型有哪些,各个数据库需要什么权限才能访问
都在information_schema这张表中 - mysql服务器中还包含了一些表和视图,提供了访问数据库元数据的方式,元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限,有时用于该信息的的其他术语,包括“数据词典”和“系统目录”