阳光学院
计算机科学与技术系
信息安全实验报告
专 业:计算机科学与技术 年 级: 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) )