C/C++教程

SQL注入中information_schema的作用

本文主要是介绍SQL注入中information_schema的作用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

实验目的

通过本次实验,掌握SQL注入中,通过information_schema这个数据库爆库名、表名以及字段名的原理。

实验内容与步骤

1.在phpmyadmin中,在左侧点击information_schema数据库。

 

2.展开后如下图,显示了该数据库中的所有表,由于表数量太多,只截了一部分,可以拉动右边的滚动条查看所有表。

 

      

 

 也可以执行如下SQL语句来查看该库中的所有表:

      show tables;

3.想要查看数据库的数据保存目录,可以执行select @@datadir,如下图:

每一个目录对应数据库中的一个数据库,在数据库中执行show databases;的时候,可以看到存在5个数据库,正是少了information_schema这个数据库。

 

4.为了更好地说明这些表的作用,我们进入mysql终端。

 

      点击右下角的wampserver图标,如果没有该图标,可以双击桌面的WampServer运行。

5.   然后在弹出来的列表中点击MySQL,再选择MySQL控制台。

6.会弹出一个命令行窗口,这就是mysql客户端,此时要求输入密码,由于root的密码为空,直接回车即可。

7.   进入information_schema 数据库,命令为:use information_schema; 。一定要注意后面记得加分号,分号表示一个语句结束,如果没有检测到你输入分号,它会认为你一个语句还没结束,直到碰到分号后,才开始执行语句。

8.  首先执行show databases;查看所有的数据库,然后再执行select schema_name from schemata;。

 

9.   desc 可以用来看表结构。看下tables的表结构,执行desc tables;,结果如下图:

10.我们可以查询一条记录看看,在查询前,先看看有多少条记录,避免记录太多查看不方便,执行select count(*) from tables; 

11.查询任意一条记录查看,我这里选择最后一条记录,SQL语句为:select * from tables limit 141,1\G由于在客户端中,默认查询结果显示不友好,所以,可以把语句后面的分号改成\G,他会让一条记录显示一行,看起来不那么乱。\G只支持在客户端中用,在其他连接数据库的软件中,使用\G会报错。

12.查看sqli数据库中的表,SQL语句为:show tables from sqli;可以看到确实存在user表。

13.

我们想要通过information_schema数据库来查询sqli数据库中所有的表,那么就可以使用如下SQL语句:

      select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA = 'sqli';

如果当前库为information_schema,则可以省略不写,否则跨库查询的时候,需要带上库名。

14.首先确定该表有多少条记录,执行select count(*) from columns;,得知一共有1662条记录,

15. 我们获取最后一条记录,执行select * from columns limit 1661,1\G

16.

们要通过information_schema数据库的columns表查询sqli数据库中user表中所有的字段,可以执行如下SQL语句:

 

      select column_name from information_schema.columns where TABLE_SCHEMA='sqli' and TABLE_NAME='user';

 

      

 

      查询结果与show columns from sqli.user; 一致。

 

      知道了库名、表名、字段,如果有回显且支持联合查询,就可以直接通过在注入点后面注入一个联合查询语句,即可直接获取数据,如果不能回显,则可能需要通过盲注获取数据,可以参考MySQL盲注实验。

答题

 

 实验截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于SQL注入中information_schema的作用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!