大一计算机课程实验报告 计算机专业类课程实验报告
时间:2020-08-09 12:38:38 来源:天一资源网 本文已影响 人
计算机专业类课程
实验报告
课程名称:计算机系统与网络安全技术
学
院:计算机科学与工程学院
专
业:信息安全
学生姓名:白读四年
学
号:201005555555
指导教师:来说
评
分:
日
期:
实 验 六
一、实验名称:SQL注入攻击实验
二、实验目的:
(1)掌握SQL注入基本手段
(2)了解WEB站点的脆弱性
三、实验原理:
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,可能被入侵很长时间管理员都不会发觉。相当一部分程序员编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些用户想得知的数据,这就是所谓的SQL Injection,即SQL注入。
四、实验内容:
服务器安装所需软件:编译环境—JAVA JDK,数据库—MySQL,WEB服务器—APACHE Tomcat
设置客户机浏览器,登录服务器。
根据登录页面返回信息,构造攻击字符串作为密码,实施攻击。
五、实验环境与设备:
两台PC机,一台作为服务器,一台作为客户端。
PC机安装WindowsXP/2000操作系统。
服务器安装数据库和WEB服务器。
局域网环境。
六、实验方法和步骤:
1、配置服务器
JDK的安装。安装完成JDK后,需要对环境变量进行设置。例如若安装路径为C:\jdk1.6.0(当然其他路径也可以)。
path变量的设置。在系统变量里找到path变量,选择编辑,在path变量值的最前面加上C:\jdk1.6.0\bin;。
新建:classpath环境变量的设置。在系统变量栏选择新建classpath,将变量值设置为 .; C:\jdk1.6.0\lib\tools.jar; C:\jdk1.6.0\lib\dt.jar。
新建:设置JAVA_HOME。新建系统环境变量JAVA_HOME,将变量值设置为C:\jdk1.6.0。
Apache web服务器的安装。安装完成后需要将网站的代码包SqlAttack放在webapps目录下。
MySQL数据库的安装。
首先检查本机是否已安装Mysql,如果已安装需要先卸载再安装新的Mysql数据库(一定要卸载以前安装的版本,否则在输入密码的时候总是会提示输入之前的密码)。由于网站代码中对数据库的访问信息(数据库名称、密码、数据表名称)是事先固定的,所以需要对数据库密码和表按照下述要求统一进行设置。
数据库的root password统一设置为GGLP。
安装完成数据库后安装Navicat for mysql,即图形化界面,以方便操作。
删除已有连接,新建连接localhost(注意正确输入root口令),数据库sqlattack,以及表userInfo,其中表的字段包括id, name, pwd(注意字段类型、主键设置)。(注意数据库名、表名和字段名的大小写)
2.配置客户机
如果未实施过SQL注入的话,第一步先把IE菜单→工具→Internet选项→高级→显示友好HTTP错误信息前面的勾去掉。否则不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。
用浏览器登录WEB服务器:http://IP地址:8080/SqlAttack/login.jsp
进入登录界面后,进行攻击。
掌握攻击原理后,尝试其他的攻击。
提示字符串::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注入攻击成功
七、实验结论和总结:
SQL注入攻击是发生于应用程序之数据库层的安全漏洞。简而言之,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏。
SQL命令可查询、插入、更新、删除等,命令的串接。而以分号字符为不同命令的区别。(原本的作用是用于SubQuery或作为查询、插入、更新、删除……等的条件式)
通过本次实验,对SQL注入攻击的原理有了一定的了解和认识,通过配置相应的主机,另一位同学通过输入攻击的语句最终完成了SQL注入攻击。同时了解到由于数据库语句设计的不完善最终将导致严重的危害,通过老师的讲解以及PPT上的内容对SQL注入的防范措施有了一定的认识。
相关关键词: 计算机专业笔记本推荐 计算机专业求职信范文 2017计算机专业大学排名 计算机专业创业准备计划书大学生 计算机专业创业计划书