OWASP Mutillidae II 漏洞靶场实验指导书.pdf
OWASP Mutillidae II 漏洞靶场实验指导书汇总
OWASP Top 10 应用安全风险-2017
OWASP (Open Web Application Security Project)开放式 Web 应用程序 安全项目,是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有 成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。
实验四 存储过程、触发器与索引
实验四 存储过程、触发器与索引
一、实验目的
1.熟悉大型数据库实验环境,以MS SQL SERVER为例;
2.掌握视图;
3.掌握存储过程与触发器;
4.掌握MS SQL SERVER的导入和导出;
5.掌握MS SQL SERVER的索引。
二、实验内容
(1)使用“实验一”中的数据库“abc”,创建一个视图,生产厂家为“北京”且价格低于北京生产的产品的平均价格,输出产品的名称、价格和生产厂家。
(2)使用“实验一”中的数据库“abc”,创建一个带有输入参数的存储过程proc_abc,查询指定职工的销售记录,用户输入职工编号,存储过程返回职工名称、产品名称、销售日期、销售数量,假如执行存储过程时所提供的“职工编号”不存在,存储过程应给予一定的提示。
(3)使用“实验一”中的数据库“abc”,练习使用游标, 写出按如下报表形式显示结果的SQL语句,该报表查询每年每种产品总销售金额,(总销售金额=价格*销量),报表显示格式如下所示:
年 产品号 产品名 销售总量 总销售金额(万元)
2001年 2 AAA 590 3.2
2001年 5 BBB 644 23.3
2002年 1 CCC 32 0.2
(4)使用“实验一”中的数据库“abc”,练习使用触发器,在销售表上创建触发器tr_updateprice,每次新增销售记录时,自动更新产品表的单价,更新方法是:每增加一笔销售记录,就将该产品的单价减去1块钱。
(5)将100万行网络连接监控数据Netflow导入数据库,创建多个索引,观察创建索引对数据库文件大小的影响;并设计不同的查询语句来观察索引对查询效率的影响;可以尝试将100万行记录扩展为1000万行,然后再做索引和查询的实验?文件见附件。
实验三 数据管理操作
实验三 数据管理操作
一、实验目的
1.熟悉大型数据库实验环境,以MS SQL SERVER为例;
2.掌握DDL语句,使用DDL语句完成数据表的创建;
3.掌握DML语句,使用DML语句完成数据的插入、修改和删除;
4.掌握MS SQL SERVER的备份和还原;
5.掌握MS SQL SERVER的权限分配。
二、实验内容
(1)用DDL(数据定义语句中的Create database)创建一个新数据库FlightDB,数据库文件的设置都可以使用默认值。
(2)用DDL(数据定义语句中的Create Table)创建三张表
1.航班表(hbb)包括如下字段:
航班号(hbh):字符型,6位定长,主码,以CZ、CA、FM开头
始发地(sfd):字符型,可变长统一编码字符型20位长,非空
目的地(mdd):字符型,可变长统一编码字符型20位长,非空
原价(YJ):整型,非空,必须>=0
2.乘客表(Ckb)包括如下字段:
身份证号(sfzh):字符型,20位变长字符串,主码
姓名(xm):可变长统一编码字符型,10位长
3.售票表(spb)包括如下字段:
航班号(hbh):主码
身份证号(sfzh):主码
起飞日期(qfrq):日期时间型,非空
售票日期(sprq):日期时间型,非空,默认值为当前时间
实价(sj):整型,非空
其中:航班号为引用航班表的外码,身份证号为引用乘客表的外码。
(3)用DML(数据操纵语句中的Insert)在hbb表中插入如下数据
CZ1301,北京,上海,1200
CZ1209,南京,昆明,1300
CZ1502,上海,北京,1200
CA1130,成都,北京,1800
CA1230,拉萨,广州,1500
CA1401,广州,南京,1600
(4)对数据库进行一次完整备份,备份名为BackupFull
(5)用DML(数据操纵语句中的Insert)在乘客表和售票表中插入如下数据
代码 乘客
91201 王曼
91202 张飞
91203 刘羽蕴
91204 王若雨
91205 张蕊
航班号 乘客 起飞 售票 实价
CZ1301 91201 2001-12-20 2001-11-20 900
CZ1209 91202 2001-12-20 2001-11-20 800
CZ1502 91201 2002-5-8 2002-5-2 1000
CA1230 91201 2001-12-5 2001-12-4 1100
CA1401 91202 2002-4-5 2002-4-4 1200
CZ1301 91203 2001-12-20 2001-11-20 900
CZ1209 91204 2001-12-20 2001-11-20 800
CZ1502 91205 2002-5-8 2002-5-2 1000
(6)对数据库进行一次差异备份,备份名为BackupAdd1
(7)用DML(数据操纵语句中的Update)将所有目的地是北京的航班的原价提高10%
(8)用DML(数据操纵语句中的Delete)将“张飞”乘客删除,注意同时删除售票记录和乘客基本信息。
(9)尝试使用MS SQL Server的还原功能,还原到上一次差异备份的BackupAdd1处。
(10)在SQL Server中创建一个用户FlightUser,设置FlightUser用户对三张表都有查询权,但是该用户不能对乘客表和航班表进行增加、删除和修改记录,该用户对售票表能增加、删除和修改记录。然后用FlightUser登陆SQL Server,对如上权限设置进行验证。
实验二 基本数据查询
实验二 基本数据查询
一、实验目的
1.熟悉大型数据库实验环境,以MS SQL SERVER为例。
2.掌握MS SQL SERVER的查询分析器的用法。
3.能够完成对单表的查询操作。
4.能够完成对多表的联合查询操作。
5.能够完成带数据聚合函数的查询。
二、实验内容
(1)以实验一中创建的数据库abc作为查询对象,完成如下查询要求:
1.查询2001年12月31日之后的销售情况,要求列出销售人员姓名、销售的产品名以及销售日期。
2.查询销售电冰箱的销售人员的最大年龄。
3.统计每个产品的销售总数量,要求只列出销售数量前3名的产品号和销售总数量。
4.查询销售人员的销售情况,包括有销售记录的销售人员和没有销售记录的销售人员,要求列出销售人员姓名、销售的产品号、销售数量和销售日期。
5.列出2000年1月1日以后销售总量第一的产品的名称和生产厂家。
(2)以MS SQL SERVER的例子数据库pubs为查询对象,完成如下查询:
6.Pubs数据库:没有写过business或者popular_comp类型书籍的作者编号和姓名
7.Pubs数据库:查询出版物价格在20元以上的作者编号和姓名
8.Pub数据库:版税大于80%且state=ks的作者信息
9.Pub数据库:查询作者数量小于5的州
10.Pub数据库:查询价格最高的书的作者,和他写的所有书的名称
11.Pub数据库:查询销量较少的10本书的作者编写的所有书的书名
12.Pubs数据库:查询写了价格PRICE高于平均价的书,而且所在的州STATE=CA的作者名称,图书名称,价格。
注意:如果数据库服务器中的pubs例子数据库被破坏,请用SQL Server 2000 Sample Databases.rar中的instpubs.sql还原
实验1-大型数据库的基本操作
实验一 大型数据库的基本操作
一、实验目的
1. 熟悉大型数据库实验环境,以MS SQL SERVER为例。
2. 掌握MS SQL SERVER的企业管理器的用法。
3. 能够根据给定的设计要求,设计数据库和数据库表结构。
4. 能够使用MS SQL SERVER的企业管理器完成数据库创建和表创建等操作。
5. 能够往表中添加数据记录。
二、实验内容
(1)创建数据库
1. 数据库名字为:abc;
2. 此数据库包含两个数据文件,其中主数据文件的逻辑文件名为:Data1,物理文件名为Data1_data.mdf,初始大小为3MB,存放在新建目录下,增长方式为自动增长,每次增加1MB,最多增长到10MB。辅助数据文件的逻辑文件名为:Data2,物理文件名为Data2_data.ndf,初始大小为2MB,同主数据文件存放在相同的位置,不自动增长。
3. 日志文件的逻辑文件名为:log1,物理文件名为log1_log.ldf,初始大小为2MB,同主数据文件存放在相同的位置,增长方式为自动增长,每次增加15%。
(2) 创建表
为描述销售人员对产品的销售情况,定义了三张表:销售人员表、产品表和销售情况表,分别用于描述销售人员的基本信息、产品的基本信息和销售人员与产品之间的销售情况。写出在 “abc”数据库中定义这三张表的语句并创建这三张表,(请将语句以文件形式保存下来,文件名为“考生名.sql”,存放在新建的目录下。可以将下述所有的SQL语句均保存到此文件中,在文件中要注明题号),三张表的结构为:
注:括号中为表名和列名的拼音表示,建表时用拼音表示表名和列名即可。
1. 销售人员表(XSRYB)包括如下字段:
职工号(ZGH):普通编码定长字符型,6位长,主码
姓名(XM):普通编码定长字符型,10位长,非空
年龄(NL):整型,取值范围为20 ~ 60,允许空
地区(DQ):普通编码可变长字符型,10位长,允许空
邮政编码(YZhBM):普通编码定长字符型,6位长,每一位必须是数字,允许空
2. 产品表(CPB)包括如下字段:
产品号(CPH):普通编码定长字符型,6位长,主码
产品名(CPM):普通编码可变长字符型,20位长,非空
生产厂家(SCCJ):普通编码定长字符型,10位长,非空
价格(JG):整型,大于0,允许空
生产日期(SCRQ): 小日期时间型(SmallDatetime),允许空,默认为系统当前日期
3. 销售情况表(XSQKB)包括如下字段:
职工号(ZGH):普通编码定长字符型,6位长,非空
产品号(CPH):普通编码定长字符型,6位长,非空
销售日期(XSRQ):小日期时间型,非空
销售数量(XSSL):整型,允许空
其中:(职工号,产品号,销售日期)为主码
职工号为引用销售人员表的外码,产品号为引用产品表的外码。
(3) 在表中加入数据
销售人员表
'职工号','姓名','年龄','地区','邮政编码'
'G01','人员1',25,'北京','100101'
'G02','人员2',45,'北京','100108'
'G03','人员3',30,'天津','200211'
'G04','人员4',42,'天津','200322'
'G05','人员5',50,'南京','123456'
'G06','人员6',38,'上海','300310'
'G07','人员7',28,'上海','300123'
'G08','人员8',55,'上海','300456'
产品表
产品号 产品名 生产厂家 价格 生产日期
P02 电冰箱 北京 4800 2002/2/14
P03 计算机 北京 7900 2001/11/1
P04 音响 上海 4000 2001/4/6
P05 空调 上海 3800 2001/10/11
P06 洗衣机 青岛 3100 2001/9/18
P07 笔记本 北京 11230 2001/8/30
P08 微波炉 天津 1980 2002/1/20
销售情况表
职工号 产品号 销售日期 销售数量
G03 P04 2001/11/20 16
G03 P05 2001/11/20 2
G05 P02 2002/5/2 1
G06 P07 2001/12/4 5
G06 P08 2002/4/4 10
G03 P02 2002/6/5 4
G08 P02 2001/12/5 1
三、附加题(可以不做)
(1)在“表中加入数据”的过程,可否采用导入的方法,而不是手工输入?(提示:将数据拷贝到Excel或者Txt文件,通过MS SQL Server提供的导入功能)
(2)可否把完成的abc数据库进行备份?然后在另外一台数据库服务器上进行还原?(提示:MS SQL Server企业管理器提供数据库的备份和还原功能)