SQL注入基本教程

SQL注入基本教程

数据库的结构

注释符

SQL注入简单教程

数据库的结构

学习SQL注入首先要知道数据库的结构

数据库由三个部分组成:数据库——表——列

 

在初始化安装MySQL数据库后有四个默认的库:

information_schema

mysql

performance_schema

test

复制

information_schema:

保存着数据库中所有数据库的信息,具体有数据库中有那些表,和表中的字段。

tables表,其中tales表中含有数据库中所有的表,有一个检索的功能:

• table_schema列:存放着所有数据库的名字

• table_name列:存放着所有数据库的表的名字

复制

columns表中:

 

• table_schema列:存放着所有数据库的名字

• table_name列:存放着所有数据库的表名

• column_name列:存放着所有数据库的列名

复制

schemata表:

存放着所有数据库的名字

 

• schema_name列:存放着所有数据库的的名字。只有数据库的名字

复制

所以注入时常用information_schema

 

mysql:

这个是mysql的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。

 

performance_schema:

mysql5.5 版本 新增了一个性能优化的引擎,performance_schema这个功能默认是关闭的。

 

test:

没有东西

 

基础的查询语句:

查询语句:select table_schema from information_schema.tables

数据库和表的连接用”.“

这条指令是查询information_schema数据库的tables表中查询table_schema表的值

 

查询语句:select group_concat(table_schema) from information_schema.tables

函数:group_concta(将相同的行组合起来)

 

执行语句:insert into information_schema.tables(id,name,password) values(9,zxt,toor)

添加东西到表里面

 

注释符

搭建好环境后可以开始做题了

先记录一个知识点注释符:–+和#和/**/的使用

在mysql中–和#代表的是注释符

mysql中单行注释#号,使用方法是注释符后直接加注释内容

而–则是要在后面加一个空格才能生效,实现注释的作用。

能看到这里的命令没有执行– 后面的语句。

这也就是在做题中输入–

显示语法错误的原因,为什么要输入–+呢?因为+等于空格,所以在注入中才要输入–+

下期继续更新

原文地址:https://fendou.gqr5.cn/4124.html
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就打个赏呗
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容