搭建MySQL数据库:

  • 采用从官网下载的MySQL,一路点击 Next 之后成功在 Win 上面安装了 MySQL 数据库。

image.png

问题报告

SQL语言相关:

  1. 创建一个名为study的数据库的语句是?
1
CREATE DATABASE study;

image.png

  1. 在study库里创建一个user表,包含三列:id(整数),name(长度为100的字符串),sex(长度为1的字符串)
1
2
3
4
use study;
set names utf8;
CREATE TABLE user
(ID INT(4),Name VARCHAR(100),Sex VARCHAR(1));

image.png

  1. **往user表中插入以下数据: **
  • id=0,name=xiaoming,sex=y
  • id=1,name=xiaohong,sex=x
1
2
3
4
5
insert into user
(ID,Name,Sex)
Values
(0,"xiaoming","y"),
(1,"xiaohong","x");

image.png

  1. 查询user表中所有数据的name列语句是?
1
select name from user;

image.png

  1. 查询user表中name为xiaoming的字段的语句是?
1
2
select * from user
where name="xiaoming";

image.png

  1. 删除user表中sex为x的语句是?
1
2
delete from user
where sex='x';

image.png

  1. 修改user表中id为0的数据,将其name值改为xiaobai的语句是?
1
2
3
update user
set name="xiaobai"
where ID=0;

image.png

  1. 了解mysql的函数,在mysql中user函数的作用是?
  • MySQL函数是内置提供各种功能的方法,其中 user() 函数返回当前的用户名。

image.png

  1. sql中用于注释的单行与多行语句格式分别是?
1
2
3
4
5
6
7
8
select * from user; -- 这个是单行注释!
select * from user; # 这个也是单行注释!
select * from user;
/*
这个
是多行
注释!
/*
  1. 了解mysql中的内联注释,它在安全方面的作用是?
  • 内联注释大概就是用来避开关键词黑名单,突破WAF来注入不被允许的SQL命令?可能是这样?

    MarkDown相关:

  1. 尝试使用md写一个表结构

    这是表头 这是表头
    这是内容 这是内容
    这也是内容 这也是内容
  2. 提交的报告要简洁清晰,可用不同大小的标题进行分割

  • 有这样做的!
  1. sql相关的截图一定要贴上
  • 已经全部贴过了。
  1. 写一些这几天对学习安全的感悟
  • 安全好有意思啊,我好菜啊!
  1. 有问题可以写在报告里,也可以查看其他同学的报告补充自己的知识
  • 大概只是学习了SQL的相关操作,对安全还是一无所知啊。

提升:

  1. 什么是information_schema数据库?这个数据库中TABLES,COLUMNS表中存放的是什么?
  • 这是一个不得了的数据库,里面存放着MySQL所在机器所维护的所有其他数据库的信息(元数据)。在这个数据库中 TABLES 存放着所有的表的相关信息。 COLUMNS 中存放着表中所有列的信息。

image.png

image.png

  1. sql语言中IF语句的作用是? select if(1>2,1,2);的结果是?思考一下if语句在sql注入的什么情形下会用到?假如无法使用if语句,你还能找到其他函数代替它吗?
  • 大概和 C++ 的 A?B:C  的作用是一样的,判断 if 里面第一个参数的 bool 值,若为 true 则返回第二个表达式的值,若为 false 则返回第三个表达式的值。
  • 因此 select if(1>2,1,2); 的结果是 2 。
  • 如果不能使用 if 语句,可以使用 case when then 或者 where 来代替 if 语句。
  1. mysql中用于延迟的函数是?思考一下sleep函数在sql注入的什么情形下会用到?你还能找到其他函数代替该函数吗?
1
SLEEP(1) -- 令此语句执行时间长度为六秒钟
  • SLEEP 函数可以验证 SQL 注入攻击是否成功,让数据库执行固定时常的命令,然后读秒计算确定是否成功。代替的可以使用 BenchMark 函数来多次重复执行一条命令或者笛卡尔乘积来达成延的目的。

最后:

  • 感谢三叶草的学长们为我们萌新准备了训练计划(真的是超级感谢啊!!!)
  • 毕竟有人带领着学习效率会快很多,也能减少在误区里面浪费的时间。
  • 对成信的期待值++,这里的技术氛围好棒啊!
  • 对信息安全还是一头雾水,但是不得不说挺有意思的。
  • 就这样了,再次感谢为我们操劳的学长们啦。