信息安全实验4--报告模板 下载本文

阳光学院

计算机科学与技术系

信息安全实验报告

专 业:计算机科学与技术 年 级: 2015级 组 别: 1B 学 号: 15100273 姓 名: 邹驼玲

2017年 月 日

实验4 数据库安全

练习一、 SQL注入

【实验目的】

了解SQL注入的基本原理

掌握PHP脚本访问MySQL数据库的基本方法

掌握程序设计中避免出现SQL注入漏洞的基本方法

【实验人数】

每组1人

【系统环境】

Linux

【网络环境】

交换网络结构

【实验类型】

设计型

【实验步骤】

「注」实验步骤中涉及到的mysql数据库操作命令和php脚本源码,均在/opt/ExpNIC/HostSec-Lab/ Projects目录中提供。

一.PHP访问MySQL简单实例

1.创建隶属test数据库的user表 (1) 启动mysql服务

①在控制台中输入如下命令启动mysql服务。缺省状态下root用户密码为空。

service mysqld start

②可通过如下命令查看mysql服务是否启动成功。

service mysqld status

(2) 创建user数据库表

在控制台中输入mysql,进入mysql客户端控制台(mysql>)。 ①选择工作数据库test(缺少状态下,test数据库已被创建)。

use test;

②创建user数据库表

CREATE TABLE user(userid int(11) NOT NULL AUTO_INCREMENT, username varchar(20) NOT NULL DEFAULT \AUTO_INCREMENT=3;

③插入两条数据信息

INSERT INTO user VALUES(1, \INSERT INTO user VALUES(2, \

④查看数据库表

select * from user;

2.编写PHP脚本查询user数据库表 编写access.php脚本,内容如下:

$servername = \# 定义变量 MySQL服务器名称 $dbusername = \ # 访问MySQL数据库的用户名称 $dbpassword = \ # root用户密码,默认为空 $dbname = \ # 工作数据库

$username = $_GET['username']; # 利用HTTP的GET方法,从URL中获取username参数值 $password = $_GET['password']; # 获取password参数值 ## 连接到MySQL服务器

$dbcnx = mysql_connect($servername, $dbusername, $dbpassword); { if( !$dbcnx ) { echo( \连接MySQL服务器失败\ exit(); }}

## 选择工作数据库

if( !mysql_select_db($dbname, $dbcnx) )