前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Mysql】通过实验掌握Mysql基本操作

【Mysql】通过实验掌握Mysql基本操作

作者头像
一名白帽的成长史
发布2019-10-08 15:31:29
8910
发布2019-10-08 15:31:29
举报
文章被收录于专栏:一名白帽的成长史
Hello,各位小伙伴大家好~

第四篇是一个SQL注入大总结,还在反复修改中...

在发布之前,先跟着我把Mysql的基本操作一起敲一遍吧~

Here we go ~

Part.1

基本操作

基本操作

1、连接数据库 mysql -h ip -u root ip password

2、退出数据库 exit

3、列出所有数据库 show databases

4、新建数据库 create database

5、使用数据库 use database_name

6、创建表 create table

7、查询当前数据库中的表 show tables

8、查看表结构 desc tablename,可以查看字段名,字段类型等信息

9、增加数据 insert into tablename values

10、查询数据 select * from table

也可以查询指定的字段

11、删除数据 delete

12、更新数据 update

查看更新结果:

13、where语句的使用:

14、limit 查询

先手工插入多行数据:

从第1行开始,查询2行(数据库第一行为第0行)

查询前4行:

Part.2

高级操作

高级操作

1、排序 order by

降序排序:

升序排序:

2、group by 语法

但这样相同类型只会显示一行,应该联合其他聚合函数进行查询。

例如此处将相同城市的电话号码加起来:

3、union select 联合查询

and 1=2 可以把前面表格的内容屏蔽掉

利用该功能,在渗透测试时,我们可以查询其他表格的内容,例如查询所有表名,例如:

4、exists 语法

创建一个新表,并插入一条数据

已知表格offices,利用exists 查询其他表格是否存在:

5、union结合load_file函数读取文件信息

D盘创建一个文件

读取文件内容:

6、union结合outfile函数写入文件

查看文件已生成:

查看文件内容,写入正确:

Part.3

Information_schema 数据库

元数据库

在Mysql数据库5.0版本中存在着一个元数据库information_schema,其中存放着用户在Mysql中创建的所有其他数据库的信息。

原数据库中几张重要的表:

  • schemata:用于存放所有数据库的名称
  • tables:用于存放所有数据库中数据表的名字
  • columns:用于存放所有数据库的所有数据表中的所有字段的名字

1、查询所有数据库名称

2、查看college数据库中包含了哪些表名

3、查看student数据表中有哪些字段

Part.4

一些奇怪的测试

测试

1、数字型参数可被当作字符型进行查询

id为 int类型参数,正常查询:

当作字符串进行查询,依然可以:

2、SQL字符型注入为什么需要逃逸的实验?

模拟 id = 1 and 1=2进行查询,只识别了1:

乱输入字符串测试,依然成功查询,识别了1,后面的不再识别:

所以,在id被以字符型进行查询时,直接插入and语句,后面的查询内容不会生效!!

因此我们需要先插入 ' 引号进行闭合,再拼接and语句,最后还需要用 # 号 或则 --+ 注释掉剩下的一个 ' 号 ,避免语法出错。

3、关于' 和 " 嵌套的截图

双引号的嵌套:

单引号的嵌套:

可以看出,单双引号可以互相包含,当作字符串;

但双引号里面不可以放一个双引号,单引号里面不可以放一个单引号。

4、or语句的测试

在or条件下前后如果都为真则返回所有结果,否则只返回条件为真的一方的值。

Part.5

结语

这就是今天的全部内容了,大家都明白了吗?

Peace !

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名白帽的成长史 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档