计算机专业类课程实验报告

上传人:第*** 文档编号:34244721 上传时间:2018-02-22 格式:DOCX 页数:5 大小:148.62KB
返回 下载 相关 举报
计算机专业类课程实验报告_第1页
第1页 / 共5页
计算机专业类课程实验报告_第2页
第2页 / 共5页
计算机专业类课程实验报告_第3页
第3页 / 共5页
计算机专业类课程实验报告_第4页
第4页 / 共5页
计算机专业类课程实验报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机专业类课程实验报告》由会员分享,可在线阅读,更多相关《计算机专业类课程实验报告(5页珍藏版)》请在金锄头文库上搜索。

1、计算机专业类课程实验报告课程名称:计算机系统与网络安全技术学院:计算机科学与工程学院专业:信息安全学生姓名:白读四年学号:201005555555指导教师:来说评分:日期:实 验 六一、实验名称:SQL 注入攻击实验二、实验目的:(1)掌握 SQL 注入基本手段(2)了解 WEB 站点的脆弱性三、实验原理:SQL 注入是从正常的 WWW 端口访问,而且表面看起来跟一般的 Web 页面访问没什么区别,可能被入侵很长时间管理员都不会发觉。相当一部分程序员编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些用户想得知

2、的数据,这就是所谓的 SQL Injection,即 SQL 注入。四、实验内容:(1) 服务器安装所需软件:编译环境JAVA JDK,数据库MySQL ,WEB服务器APACHE Tomcat(2) 设置客户机浏览器,登录服务器。(3) 根据登录页面返回信息,构造攻击字符串作为密码,实施攻击。五、实验环境与设备:1. 两台 PC 机,一台作为服务器,一台作为客户端。2. PC 机安装 WindowsXP/2000 操作系统。3. 服务器安装数据库和 WEB 服务器。4. 局域网环境。六、实验方法和步骤:1、配置服务器(1) JDK 的安装。安装完成 JDK 后,需要对环境变量进行设置。例如若

3、安装路径为 C:jdk1.6.0(当然其他路径也可以)。a. path 变量的设置。在系统变量里找到 path 变量,选择编辑,在 path变量值的最前面加上 C:jdk1.6.0bin;。b. 新建:classpath 环境变量的设置。在系统变量栏选择新建 classpath,将变量值设置为 .; C:jdk1.6.0libtools.jar; C:jdk1.6.0libdt.jar 。c. 新建:设置 JAVA_HOME。新建系统环境变量 JAVA_HOME,将变量值设置为 C:jdk1.6.0。(2) Apache web 服务器的安装。安装完成后需要将网站的代码包 SqlAttack放

4、在 webapps 目录下。(3) MySQL 数据库的安装。a. 首先检查本机是否已安装 Mysql,如果已安装需要先卸载再安装新的Mysql 数据库(一定要卸载以前安装的版本,否则在输入密码的时候总是会提示输入之前的密码) 。由于网站代码中对数据库的访问信息(数据库名称、密码、数据表名称)是事先固定的,所以需要对数据库密码和表按照下述要求统一进行设置。b. 数据库的 root password 统一设置为 GGLP。c. 安装完成数据库后安装 Navicat for mysql,即图形化界面,以方便操作。d. 删除已有连接,新建连接 localhost(注意正确输入 root 口令) ,数

5、据库 sqlattack,以及表 userInfo,其中表的字段包括 id, name, pwd(注意字段类型、主键设置) 。 (注意数据库名、表名和字段名的大小写)2配置客户机(1) 如果未实施过 SQL 注入的话,第一步先把 IE 菜单工具Internet 选项高级显示友好 HTTP 错误信息前面的勾去掉。否则不论服务器返回什么错误,IE 都只显示为 HTTP 500 服务器错误,不能获得更多的提示信息。(2) 用浏览器登录 WEB 服务器:http:/IP 地址:8080/SqlAttack/login.jsp(3) 进入登录界面后,进行攻击。(4) 掌握攻击原理后,尝试其他的攻击。提示

6、字符串:a or t=t,为什么?这个字符串使我们的网站登陆校验 SQL 语句出现了什么样的变化,从而完成了攻击?你是否可以构造另外的字符串?七、实验结果和分析:创建账户和密码进行登入:登入成功:机器上设置之后,其他用户可以在局域网内对进行设置后的机器进行随意的访问!由于数据语句设计上的漏洞原本的 SQL 字符串被填为 strSQL = SELECT * FROM users WHERE (name = OR 1=1) and (pw = OR 1=1);实际上运行的 SQL 命令会变成下面这样:strSQL = SELECT * FROM users;所以 SQL 注入攻击成功七、实验结论和

7、总结:1、 SQL 注入攻击是发生于应用程序之数据库层的安全漏洞。简而言之,是在输入的字符串之中注入 SQL 指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的 SQL 指令而运行,因此遭到破坏。2、 SQL 命令可查询、插入、更新、删除等,命令的串接。而以分号字符为不同命令的区别。 (原本的作用是用于 SubQuery 或作为查询、插入、更新、删除等的条件式)3、 通过本次实验,对 SQL 注入攻击的原理有了一定的了解和认识,通过配置相应的主机,另一位同学通过输入攻击的语句最终完成了 SQL 注入攻击。同时了解到由于数据库语句设计的不完善最终将导致严重的危害,通过老师的讲解以及 PPT 上的内容对 SQL 注入的防范措施有了一定的认识。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号