字段说明
- database()将会返回当前网站所使用的数据库名字。
- user()将会返回执行当前查询的用户名。
- version() 获取当前数据库版本。
- @@version_compile_os 获取当前操作系统。
- information_schema 是mysql 自带的一张表,这张数据表保存了 Mysql 服务器所有数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限等
- column_name 列名
- table_name 记录 DBMS 中存储的表名
- table_schema 记录表名所在的数据库
- information_schema 信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。
- schema_name 数据库名称
- information_schema.schemata SCHEMATA表提供关于数据库的信息。
函数说明
- group_concat(column_name) 将一列的数据用一行全部输出,中间用逗号隔开。
- concat(s1,s2…sn) 字符串 s1,s2 等多个字符串合并为一个字符串
- left(name,length) 返回name最左边的length个字符串,right函数同理。eg:有的SQL报错注入题只会显示部分字符串,超过范围的就不会显示出来,使用right函数就会如图password缺少d,但是也可借此依次向左推进得到所有字符。
判断注入类型
- 首先可通过输入' 或者 " 看是否会报错,来判断是否存在注入点
- 可输入 语句:and 1=1 and 1=2 (经典)
- 如果第一个语句没报错,第二个语句报错了,则说明存在数字型注入
- 反之,则可能存在字符型注入,因为如果是字符型注入,则后台的语句就是 '1 and 1=1' 和'1 and 1=2' 是一段字符串,并不会进行逻辑判断
- 接着可输入 语句:' and '1'='1(字符型) ' and '1'='2
- 同样如果第一个语句没报错,第二个语句报错了,则说明存在字符型注入