• 电脑知识
  • 电脑入门
  • 电脑技巧
  • 网络知识
  • 操作系统
  • 工具软件
  • 电脑安全
  • 硬件知识
  • 当前位置: 天一资源网 > 计算机专业 正文

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

    时间: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计算机专业大学排名 计算机专业创业准备计划书大学生 计算机专业创业计划书
    相关热词搜索: 计算机专业 课程 实验 报告

    • 范文大全
    • 教案下载
    • 优秀作文
    • 励志
    • 课件
    • 散文
    • 名人名言