网站表单sql注入扫描系统设计

网站表单sql注入扫描系统设计

                                               网站表单sql注入扫描系统设计(代写本科论文)

 1.选题依据:
1.1选题的背景与意义
随着计算机网络的发展,Web应用程序得到极为广泛的应用,其自身的安全也面临越来越多的威胁,结构化查询语言(SQL)注入攻击也是目前Web应用程序面临的主要安全威胁之一,因此了解SQL注入攻击与防御对于理解和加强Web应用程序的安全具有十分重要的意义。并且,SQL注入漏洞的危害程度和普遍程度逐年增加,一直是Web安全漏洞的榜首[1]。
SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多[2]。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患,用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入[3]。并且注入攻击在OWASP TOP 10中多年位于第一位,可见其严重性[4]。所以,对于SQL注入漏洞的研究有着非常重要的意义[5]。
SQL注入攻击存在于大多数访问了数据库且带有参数的动态页面中,SQL注入攻击相当隐秘,表面上看与正常的Web访问没有区别,不易被发现,但是SQL注入攻击潜在的发生概率相对于其他Web攻击要高得多,危害面也更广[6]。其主要危害包括:①数据库中的数据外泄,例如个人机密数据,账户数据,密码等。②数据库结构被黑客探知,得以做进一步攻击。③数据库服务器被攻击,系统管理员账号被篡改,例如ALTER LOGIN sa WITH PASSWORD='xxxxxx'。④获取系统较高权限后,有可能得以在网页加入恶意链接、恶意代码以及XSS等。⑤经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统,例如xp_cmdshell 'net stop iisadmin'可停止服务器的IIS服务。⑥破坏硬盘数据,瘫痪全系统,例如xp_cmdshell 'FORMAT C:'。
现在流行的数据库管理系统都有一些工具和功能组件,可以直接与操作系统及网络进行连接。当攻击者通过SQL注入攻击一个数据库系统,危害就不只局限于操作系统在数据库中的数据,攻击者还可以设法获得对DBMS所有的主机进行交互式访问,使其危害从数据库向操作系统、甚至整个网络蔓延。因此,我不仅应当将SQL注入攻击看作是一个对在数据库上数据的威胁,而应当看作是队整个网络的威胁。
本系统主要针对网站中表单的SQL注入检测,检测表单是否存在SQL注入风险。
1.2国内外研究现状
国内外对SQL注入漏洞都有着长期的研究,国外最早发现SQL注入漏洞,并对该漏洞攻击的检测和防御都有较为深入的研究,但是国内起步较晚,多是根据漏洞原理建立一些防御模型[7]。
国内对SQL注入攻击研究主要包括SQL注入攻击的原理和SQL注入攻击的关键技术。国内对SQL注入的检测与防范主要集中于一下几个方面[8]:
(1)提出各种各样的防范模型,如在客户端和服务器端进行检测的SQL注入攻击检测、防御、备案模型。
(2)在服务器端正式处理之前对提交数据进行合法性检查。
(3)屏蔽错误信息,这样攻击者就不能从错误中获取关于数据库的信息。
(4)对Web服务器进行安全设置,如去掉Web服务其上默认的一些危险命令。
(5)不用字符串连接建立SQL查询,用存储过程编写代码减少攻击。
(6)对包含敏感信息的数据加密,如在数据库中对密码加密存储等。
国内对SQL注入漏洞检测的研究还很少,大多数还停留在攻击工具的层面上,很少将注入工具用于网站安全检测。
国外学者对SQL注入检测与防范领域一般分为两大类。
(1)漏洞识别(检测):这类防范主要研究识别应用程序中能导致SQL注入攻击的漏洞位置。
(2)攻击防御:这类方法可以进一步分为编码机制和防御机制。
编码机制是一种很好实践的防范方法,SQL注入攻击产生的根本原因在于没有足够的验证机制,因而从编码方面防范攻击有很好的理论基础[9]。编码机制有四种方法[10]:第一,对输入类型检测,如果输入类型是数字型,那么限制为数字型,这样就可以避免很多攻击,但该类型检测机制存在很大局限性。第二,对输入内容进行编码。因为攻击者可以使用变换后的字符作为输入,而在数据库中将其还原为正常字符。第三,正模式匹配,通常可以写一段程序用于检测数据输入是否有不合法字符。第四,识别输入源。
防御机制包括:黑盒测试法、静态代码检测器、结合静态和动态的分析方法、新查询开发范例、入侵检测系统、代理过滤、指令集随机化方法、动态检测等方法。
参考文献
[1] 马小婷,胡国平,李舟军.SQL注入漏洞检测与防御技术研究[J].计算机安全,2010(11):18~24
[2]任泰明·基于B/S结构的软件开发技术[M].西安:西安电子科技大学出版社,2006
[3]张涛,吴冲.信息系统安全漏洞研究[J].哈尔滨工业大学学报(社会科学版),2008,10(4):77~82
[4] The Open Web Application Security Project.OWASP Top 10-2017 rcl[J].OWASP Top 10-2017 rcl,2017,5~6
[5]周蓉,徐滔.SQL注入漏洞分析与防范[J].四川职业技术学院学报,2007,17(4):116~117
[6]张勇,李力,薛倩.Web环境下SQL注入攻击的检测与防御[J].现代电子技术,2004(15),3~4
[7]成晓利.Web应用SQL注入漏洞测试系统的研究与实现[D].硕士学士论文.四川:西南交通大学,2013
[8]Justin Clarke·SQL注入攻击与防御[M]·第二版·北京:清华大学出版,2013
[9]张炳帅·Web安全深度剖析[M]·北京:电子工业出版社,2015
[10]吴翰清·白帽子讲Web安全[M]·北京:电子工业出版社,2012
 
 毕 业 设 计 开 题 报 告
2.设计方案:
2.1设计任务
采用B/S架构完成网站表单sql注入扫描系统,此系统用于检测表单是否存在sql注入的风险,保证注入检测的成功率,实现队列执行。系统提供以下功能:进入Web界面后可以添加需要检测的网站,在添加完成之后,系统开始对目标网站的URL进行扫描,检测网站中的表单是否存在sql注入的风险,完成后输出结果。
2.2研究解决的主要问题
本系统从前端页面设计到开发、测试,整个过程需要重点解决以下问题:
(1)对网站的结构进行信息收集,收集相关表单中的字段。
(2)实现异步操作,是界面交互足够流畅。
(3)Python框架的选用,要选用一个适合的框架易上手开发,易扩展,并要保证系统运行的安全性。
2.3采用的技术手段
随着互联网的发展,B/S(Browser/Server)即浏览器/服务器结构,B/S结构的易用性以及方便性,让大多数系统选择该结构,这样的系统只需要一个浏览器即可访问。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成三层结构。这样就避免了庞大的旁客户端,减少了客户端的压力。因为客户端包含的逻辑很少,因此也被称为瘦客户端。Python作为一门解析型的语言,简洁易懂是最大的优势,同时他的简单、高效,让越来越多人喜欢使用这一门语言。对于初学者来说,python更容易入门,python提供的各种各样功能强大的module可以使开发者快速开发出功能相对强大的程序。大量的开源框架以及开源系统可供开发者参考加上它几乎支持所有流行的数据库以及操作系统,开放的源代码,跨平台性,以及它的高效率,面向对象都是被越来越多企业、开发者选择的理由。

暂时没有评论

真实

多重认证,精挑细选的优质资源 优质老师。

安全

诚实交易,诚信为本。

保密

所有交易信息,都为您保密。

专业

10年专业经验,10年来帮助无数学子。