预备知识
MySQL语法:https://dev.mysql.com/doc/refman/5.7/en/select.html
MySQL查询数据:http://www.runoob.com/mysql/mysql-select-query.html
实验目的
通过本次实验,掌握SQL注入中,通过information_schema这个数据库爆库名、表名以及字段名的原理。
实验环境
windows 7、安装wamp环境。
实验内容与步骤
在MySQL数据库的注入中,如果你有仔细看过SQL注入语句的话,你可能就会发现,在获取数据库名、表名和字段的时候,注入语句中information_schema这个数据库出现得很频繁,那么有没有想过为什么会需要用到这个数据库呢?这个数据库又是什么?它里面保存了什么?
information_schema数据库是MySQL自带的,MySQL 5以下没有这个数据库,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。也就是说information_schema中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。
在phpmyadmin中,在左侧点击information_schema数据库。
展开后如下图,显示了该数据库中的所有表,由于表数量太多,只截了一部分,可以拉动右边的滚动条查看所有表。
也可以执行如下SQL语句来查看该库中的所有表:
show tables;