mysql5.0以上和mysql5.0以下的区别
-
5.0以下没有information_schema这个数据库,无法列表名等,只能暴力跑表名。
-
5.0以下是多用户单操作,5.0以上是多用户多操做。
information_schema在sql注入中的应用详解
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等
在发现SQL注入漏洞中,我们首先通过version()查看数据库的版本,当mysql数据库的版本在5.0以上时,mysql数据库就存在information_schema这个数据库,
获取数据的步骤: 获取数据库–>获取数据库中的表–>获取表中的字段–>获取表中的数据
在information_schema数据库中存在
tables表
tables表中的字段table_schema、table_name等
column表
column表中的字段table_schema、table_name、column_name等字段查询语句
查表名
select group_concat(table_name) from information_schema.tables where table_schema=‘数据库名’
查字段名
select group_concat(column_name) from information_schema.columns where table_name='users'
查询information_schema中columns表中table_name='users’时column_name的值