MySql简介
DBMS
数据库管理系统是一种操纵和管理数据库的大型软件
用于建立、使用和维护数据库,简称 DBMS。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
![](https://i-blog.csdnimg.cn/blog_migrate/7cff62b2aeda7c31c7e0dc41ca274c84.jpeg)
NAVICAT
Navicat Premium 16 下载与安装破解教程(详细教程) | Java 技术论坛 (learnku.com)
navicat与Mysqlworkbench类似,功能有:
连接数据库 |
创建数据库 |
创建数据表 |
创建字段 |
操纵数据 |
执行SQL语句 |
MySql常用函数
SELECT类语句:
@@datadir 查看当前的数据库目录
@@version_compile_os 查看操作系统版本
database()查看当前数据库
user()查看当前连接数据库的用户
Version()查看当前数据库版本信息
concat(str1,str2)连接两个字符串并传入数据库,如果其中一个参数为NULL,则返回值为 NULL
concat_ws(separator,str1,str2)用分隔符连接两个字段的字符串
group_concat(str1,str2)将多行查询结果以逗号分隔全部输出
mid(column_name,start,length)从指定字段或字符串中提取出内容
其他常用函数:
Limit 返回结果中的前几条数据或者中间的数据
COUNT(column_name)返回指定列的值的数目(NULL不计入)
rand()产生一个0~1的随机数
floor()函数 向下取整。
left(str,num)从字符串str的左侧开始取num位
right(str,num)从字符串str的右侧开始取num位
sleep(num)让语句暂停num秒的时间
length(str)返回字符串str的长度
Substr(string,start,length)同上
INFORMATION_SCHEMA数据库结构
information_schema数据库是MYSQL自带的,它提供了访问数据库元数据的方式.
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。
SCHEMATA:
schema_name中显示所有的表
TABLES:
table_shema 字段为从属的数据库
table_name为表名
COLUMNS:
Table_schema
table_name
column_name
SQL注入原理和类型
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,
用户可控的输入未经过滤就被带入到SQL语句中执行,从而导致SQL注入攻击的产生
万能密码:
利用真值来绕过SQL查询语句
Mysql万能密码:admin' or '1'='1#
注入类型:
有回显
1.Error-based SQL injection(报错型注入)
2.UNION query SQL injection(联合查询注入)
无回显
3.Boolean-based blind SQL injection(布尔型注入)
4.Time-based blind SQL injection(基于时间延迟注入)
5.Stacked queries SQL injection(堆叠查询注入)
Sqli-labs靶场搭建以及做题wp将由我亲自实践并为大家呈现。
版本要求:
php 版本为 5.x
mysql版本为 5.7.x