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

上传人:小** 文档编号:13304003 上传时间:2020-06-14 格式:DOC 页数:9 大小:89.50KB
收藏 版权申诉 举报 下载
SQL注入毕业设计参考论文.doc_第1页
第1页 / 共9页
SQL注入毕业设计参考论文.doc_第2页
第2页 / 共9页
SQL注入毕业设计参考论文.doc_第3页
第3页 / 共9页
资源描述:

《SQL注入毕业设计参考论文.doc》由会员分享,可在线阅读,更多相关《SQL注入毕业设计参考论文.doc(9页珍藏版)》请在装配图网上搜索。

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

2、t 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 presentation is flexible, e

3、asy 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 effective to prevent SQL i

4、njection 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 provides the background

5、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注入演示与预防目录摘 要IAbstractII1绪 论11.1课题设计

6、的背景和特点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 概要设计94.6 系统中所用数据控件94.7.1 数据库描述94.7.3 数据表结构96.2 软件测试106.2.1 测试的实现10结

7、论14参考文献14致 谢16SQL注入的攻防演示1 绪 论1.1 课题设计的背景和特点 最近在做的项目是网络安全评估的内容,其中包含渗透测试,而SQL注入往往是渗透测试中最为有效的手段之一,本文中将会就SQL注入的原理和方法进行叙述,使普通软件开发者对SQL注入有所了解。如果有需要更详细毕业设计资料的,各种毕业设计参考资料供大家学习,联系我SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水 平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐

8、患。用户可以提交一段数据库查询代 码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,如果有需要本文的全部资料,请加我腾讯企鹅6526558所以目前市面的防火墙都不会 对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外 的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。SQL注入测试就是通过利用目标网站的某个页面缺少对用户传递参数控制或者控制的不够好的情 况下出

9、现的漏洞,从而达到获取、修改、删除数据,甚至控制数据库服务器、Web服务器的目的的测试方法。1.2 需求分析1.2.1 需求分析的必要性需求分析是数据库管理系统开发的第一步,如果有需要本文的全部资料,请加我腾讯企鹅6526558也是最重要的一步SQL注入的攻防演示也不例外。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。软件需求的分析和说明对于软件开发工作的成功与否是至关重要的,如果有需要更详细毕业设计资料的、规范的过程。它有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于

10、开发人员、测试人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。1.2.2 功能划分该系统是采用目前比较流行的数据库开发工具开发的基于windows操作台下运行的SQL攻防演示。这套软件简单易懂,能有效的防止SQL注入。(1) 外部功能:一个普通网站的前台展示功能。 (2) 内部功能:一个完整的后台添加功能。(3) 系统构成描述:其中包括前台注入和后台注入2个模块,也包括了各自的预防功能。1.2.3 演示描述 (1) 后台注入演示登陆界面会出现用户名和密码三个文本框以及登陆和退出两个按钮,演示者可以先用常用的破解方法

11、,在没有输入用户名和密码的情况下登陆到系统的后台。 (2) 后台预防演示让攻击者采用同样的攻击方式,但是却不能成功进入后台,此方案有2种预防方式,都会展示。(3) 后台管理模块后台管理模块采用正常的主流的ASP.NET进行开发,完全模拟了网站后台的开发。 (4)前台展示模块模拟了一个小公司的网站,有新闻展示和产品添加等模块。1.2.4 理解需求SQL注入攻击的总体思路发现SQL注入位置; 判断后台数据库类型; 猜测账号模拟进攻1.2.6 环境的选择本系统采用ASP.NET编程工具、Microsoft Access开发而成。因为Microsoft公司的ASP.NET是对于开发数据库系统很方便,易

12、学易用,它提供了大量的组件,来支持对数据库的编程;它简化了界面设计过程,减少了编程人员的工作量,从而有效的提高了应用程序的运行效率和可靠性,缩短了开发时间。故而,选择了ASP.NET。选择一个合适的数据库系统,是非常必要的。当前流行的小型数据系统一般有Access,Visual FoxPro等。因为本系统数据库不是很大,所以选择了Microsoft Access。 2 数据库概论2.1 数据库技术的概述数据库技术在计算机软件领域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统,如SQL Server,Access等。近年

13、来,随着World Wide Web的猛增及Internet技术的迅速发展,使得数据库技术成为最热门技术之一。2.2 数据库理论基础一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术4。 信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1) 数据库需求分析的任务是:将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2) 概念设计的任务是:从DFD出发,绘制出主题的实体关系图,并列出各个实体与关系的纲要表。(3) 逻辑设计的任务是:从E-R图与对应的纲要表出发,确定各

14、个实体及关系的表名属性。(4) 物理设计的任务是:确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计字典。(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则: (1) 基本表的个数越少越好。(2) 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。(3) 字段的个数越少越好。(4) 所有基本表的设计均应尽量符合第三范式。2.2.1 数据库管理系统数据库管理系统(DBMS)

15、是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MS Access 2000就是一种关系型数据库管理系统5。.2.2.2 SQL语言介绍(1) SQL 基础SQL (Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理

16、系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。标准的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作6。SQL语言有着非常突出的优点,主要是:非过程化语言,统一的语言和所有关系数据库的公共语言7。非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工

17、作,可操作记录集,而不对单个记录进行操作,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS(关系数据库管理系统)的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器就知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。 统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL

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

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

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

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!