一,MySQL知识:
- 1 登录:
在当前目录下输入cmd,进入终端“输入 mysql -u用户名 -p 密码”
1.2 创建数据库:
用 “create database数据库名”。
指定字符集:utf8mb4,支持中文,表情符号和某些特殊字符。
1.3操作数据库:
1.3.1 进入数库 ->“use 数据库名”。
1.3.2创建 MySQL 数据表:
表名:学生基础信息表:
表字段名:[学号 姓名 年龄 班级 专业 家庭住址 电话号码]+定义每个表字段的数据类型。
1.4 MySQL 数据利用:
增加数据
一条:
insert into 表名 (列名1,列名2, 列名3, ...)
->values
->('具体数值1', '具体数值2', '具体数值3', ...);
多条:
insert into 表名 (列名1,列名2, 列名3, ...)
->values
->('具体数值1', '具体数值2', '具体数值3', ...),
->('具体数值1', '具体数值2', '具体数值3', ...),
->('具体数值1', '具体数值2', '具体数值3', ...)
删除数据:
Delete from 表名 where 列名=数据;
修改数据:
update 表名 set 列名="数据" where 条件;
查询数据
select * from 表名 where 条件;
二,什么是sql注入:
sql数据库(database)通常情况下会连接到前台供使用者进行访问,修改信息,但攻击者也可以通过在 SQL 语句中注入恶意代码爆出数据库,形成安全漏洞-sql注入。
形成条件:有SQL注入点,数据的变动会形成注入点。
例如查询数据:
select * from 学生基础信息表 where 学号=”1”,1就是注入点。
正常情况:
sql注入:
三,sqal注入的分类:
3.1sql数字型注入:
数据库增加数据: insert into 表名 (id)
->values
->(1 );
数据库查询数据:select * from where id=1
数据库sql注入:select * from where id=1 or 1 =1
前端界面sql注入:1 or 1 =1
3.2sql字符型注入:
单引号
数据库增加数据: insert into 表名 (id)
->values
->(‘1’ );
数据库查询:select * from where id=’1 ‘
数据库sql注入:select * from where id=’1‘ or '1' ='1 ‘
前端界面sql注入:1’ or '1' ='1
双引号:
数据库增加数据: insert into 表名 (id)
->values
->(“1” );
数据库查询:select * from where id=”1 “
数据库sql注入:select * from where id=“1“ or ”1“ ='1 ”
前端界面sql注入:1” or “1” =“1
eg:Get传参:
?id=1 --+(注释)
Post传参:
?id=1 #(注