SQL注入毕业设计参考论文.doc

上传人:坚持 文档编号:3650306 上传时间:2019-07-02 格式:DOC 页数:9 大小:89.50KB
下载 相关 举报
SQL注入毕业设计参考论文.doc_第1页
第1页 / 共9页
SQL注入毕业设计参考论文.doc_第2页
第2页 / 共9页
SQL注入毕业设计参考论文.doc_第3页
第3页 / 共9页
SQL注入毕业设计参考论文.doc_第4页
第4页 / 共9页
SQL注入毕业设计参考论文.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、SQL 注入演示与预防I大学毕业设计(论文)SQL 注入的演示与预防学 生 姓 名 指 导 教 师 专 业 学 院 摘 要本论文是针对企事业单位管理系统平时预防 SQL 注入攻击而进行研究的,基于ASP.NET、Access 2003 开发而成的攻防软件,它提供了后台注入 SQL 演示模块、防止模块、前台网站显示模块、前台注入模块、前台预防模块。本演示做的主要是观看灵活、易懂、是有效的防止 SQL 注入的手段。 关键词:SQL 注入,ASP.NETSQL 注入演示与预防IIAbstractThis paper is aimed at the business unit management s

2、ystem usually prevent SQL injection attacks and research, ASP.NET, and Access 2003 software development based on defense, it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This present

3、ation is flexible, easy to watch, is effective to prevent SQL injection method.it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effect

4、ive to prevent SQL injection method.it provides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effective to prevent SQL injection method.it prov

5、ides the background into the SQL demonstration module, preventing module, display module, front desk reception site into the module, the prevention of module. This presentation is flexible, easy to watch, is effective to prevent SQL injection method.Key Words:SQL injection, ASP.NETSQL 注入演示与预防目 录摘 要

6、.IAbstract.II1 绪 论 .11.1 课题设计的背景和特点 .11.2 需求分析 .11.2.1 需求分析的必要性 .11.2.2 功能划分 .11.2.3 演示描述 .21.2.4 理解需求 .21.2.6 环境的选择 .22 数据库概论 .32.1 数据库技术的概述 .32.2 数据库理论基础 .32.2.1 数据库管理系统 .4.2.2.2 SQL 语言介绍 .43 系统开发工具 .63.1 vs2010 组件的体系结构 .63.2 数据库组件介绍 .63.3 MS Access 2003 简介 .73.4 MS Access 2003 与 SQL Server 区别 .74

7、 概要设计 .94.6 系统中所用数据控件 .94.7.1 数据库描述 .94.7.3 数据表结构 .96.2 软件测试 .106.2.1 测试的实现 .10结 论 .14参考文献 .14致 谢 .16SQL 注入的攻防演示41 绪 论1.1 课题设计的背景和特点最近在做的项目是网络安全评估的内容,其中包含渗透测试,而 SQL 注入往往是渗透测试中最为有效的手段之一,本文中将会就 SQL 注入的原理和方法进行叙述,使普通软件开发者对 SQL 注入有所了解。如果有需要更详细毕业设计资料的,各种毕业设计参考资料供大家学习,联系我 SQL 注入攻击是黑客对数据库进行攻击的常用手段之一。随着 B/S

8、模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水 平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代 码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL Injection,即 SQL 注入。SQL 注入是从正常的 WWW端口访问,而且表面看起来跟一般的 Web 页面访问没什么区别,如果有需要本文的全部资料,请加我腾讯企鹅 6526558 所以目前市面的防火墙都不会 对 SQL 注入发出警报,如果管理员没查看 IIS 日志的习惯,可能被入侵很长时间都

9、不会发觉。但是,SQL 注入的手法相当灵活,在注入的时候会碰到很多意外 的情况,需要构造巧妙的 SQL 语句,从而成功获取想要的数据。SQL 注入测试就是通过利用目标网站的某个页面缺少对用户传递参数控制或者控制的不够好的情 况下出现的漏洞,从而达到获取、修改、删除数据,甚至控制数据库服务器、Web 服务器的目的的测试方法。1.2 需求分析1.2.1 需求分析的必要性需求分析是数据库管理系统开发的第一步,如果有需要本文的全部资料,请加我腾讯企鹅 6526558 也是最重要的一步 SQL 注入的攻防演示也不例外。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而

10、奠定软件开发的基础。软件需求的分析和说明对于软件开发工作的成功与否是至关重要的,如果有需要更详细毕业设计资料的、规范的过程。它有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于开发人员、测试人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。SQL 注入的攻防演示51.2.2 功能划分该系统是采用目前比较流行的数据库开发工具开发的基于 windows 操作台下运行的 SQL 攻防演示。这套软件简单易懂,能有效的防止 SQL 注入。(1) 外部功能:一个普通

11、网站的前台展示功能。 (2) 内部功能:一个完整的后台添加功能。(3) 系统构成描述:其中包括前台注入和后台注入 2 个模块,也包括了各自的预防功能。1.2.3 演示描述(1) 后台注入演示登陆界面会出现用户名和密码三个文本框以及登陆和退出两个按钮,演示者可以先用常用的破解方法,在没有输入用户名和密码的情况下登陆到系统的后台。 (2) 后台预防演示让攻击者采用同样的攻击方式,但是却不能成功进入后台,此方案有 2 种预防方式,都会展示。(3) 后台管理模块后台管理模块采用正常的主流的 ASP.NET 进行开发,完全模拟了网站后台的开发。(4)前台展示模块模拟了一个小公司的网站,有新闻展示和产品添

12、加等模块。1.2.4 理解需求SQL 注入攻击的总体思路发现 SQL 注入位置; 判断后台数据库类型; 猜测账号模拟进攻1.2.6 环境的选择本系统采用 ASP.NET 编程工具、Microsoft Access 开发而成。因为 Microsoft公司的 ASP.NET 是对于开发数据库系统很方便,易学易用,它提供了大量的组件,来支持对数据库的编程;它简化了界面设计过程,减少了编程人员的工作量,从而有效的提高了应用程序的运行效率和可靠性,缩短了开发时间。故而,选择了ASP.NET。选择一个合适的数据库系统,是非常必要的。当前流行的小型数据系统SQL 注入的攻防演示6一般有 Access,Vis

13、ual FoxPro 等。因为本系统数据库不是很大,所以选择了Microsoft Access。 2 数据库概论2.1 数据库技术的概述数据库技术在计算机软件领域研究中一直是非常重要的主题,产生于 60 年代,30 多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统,如 SQL Server,Access 等。近年来,随着 World Wide Web 的猛增及 Internet技术的迅速发展,使得数据库技术成为最热门技术之一。2.2 数据库理论基础一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术 4。信息管理系统所涉及的数据库

14、设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1) 数据库需求分析的任务是:将业务管理单证流化为数据流,划分主题之间的边界,绘制出 DFD 图,并完成相应的数据字典。(2) 概念设计的任务是:从 DFD 出发,绘制出主题的实体关系图,并列出各个实体与关系的纲要表。(3) 逻辑设计的任务是:从 E-R 图与对应的纲要表出发,确定各个实体及关系的表名属性。(4) 物理设计的任务是:确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计字典。(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、

15、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则: (1) 基本表的个数越少越好。(2) 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。SQL 注入的攻防演示7(3) 字段的个数越少越好。(4) 所有基本表的设计均应尽量符合第三范式。2.2.1 数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS 是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制都是通过 DBMS 进行的。DBMS 总是基于某种数据模型,可以把 DBMS看成是某种数据模型在计算

16、机系统上的具体实现。根据数据模型的不同,DBMS 可以分成层次型、网状型、关系型、面向对象型等。MS Access 2000 就是一种关系型数据库管理系统 5。.2.2.2 SQL 语言介绍(1) SQL 基础SQL (Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL 通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL 是关系数据库管理系统的标准语言。SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用 SQL 的常见关系数据库管理系统有:Oracle 、 Sybase、 Micro

17、soft SQL Server、 Access 等等。标准的 SQL 命令,比如“Select“、 “Insert“、 “Update“、 “Delete“、 “Create“和 “Drop“常常被用于完成绝大多数数据库的操作 6。SQL 语言有着非常突出的优点,主要是: 非过程化语言, 统一的语言和所有关系数据库的公共语言 7。非过程化语言:SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,可操作记录集,而不对单个记录进行操作,所有 SQL 语句接受集合作为输入,返回集合作为输出。SQL 的集合特性允许一条 SQL 语句的结果作

18、为另一条 SQL 语句的输入。SQL 不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果。所有 SQL 语句使用查询优化器,它是 RDBMS(关系数据库管理系统) 的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器就知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL 为许多任务提供了命令,其中包括: SQL 注入的攻防演示8查询数据;在表中插入、修改和删除记录;建立、修改和删除数据

19、对象;控制对数据和数据对象的存取,保证数据库一致性和完整性。所有关系数据库的公共语言:以前的数据库管理系统只为上述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中。由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的技能从一个 RDBMS 转到另一个,所有用 SQL 编写的程序都是可以移植的。(2) SQL 语句SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组 8:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据;DML 组可以

20、细分为以下的几个语句:SELECT用于检索数据;INSERT用于增加数据到数据库;UPDATE用于从数据库中修改现存的数据;DELETE用于从数据库中删除数据。DDL( Data Definition Language,数据定义语言): 用于定义数据的结构,比如创建、修改或者删除数据库对象; DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。SQL 注入的攻防演示93 系统开发工具3.1 vs2010 组件的体系结构C#类可以粗略地分成两部分:组件类和功能类 9。(1)组件类组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,

21、在程序中就自动生成了该类的对象(非可视组件除外) 。组件类包括窗口组件类和图形组件类。窗口组件类是:窗口化的可视化组件类,在.NET 的类库中占有最大的份额。在实际编程中,窗口组件类的对象都有句柄,可以接受输入焦点和包含其它组件。图形组件类:不是基于窗口的,因而不能有窗口句柄,不能接受输入焦点和包含其它组件。图形组件类的基类是 Control 在实际编程中,它们必须寄生于它们的宿主窗口组件类的对象,由它们的拥有者负责其显示,而且它们还能触发一些和鼠标活动相关的事件。由此可以看出图形组件的功能很弱,图形组件的用处何在呢?其实使用图形组件的最大好处在于节省资源,正是因为它们的功能较弱,所以使用的系统资源就要少。在一个应用程序中,如果能在不影响其功能的前提下合理大量地使用图形组件,将会大大减少程序对系统资源的消耗。

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。