基于SQL注入攻击的网络脆弱性分析及对策研究_第1页
基于SQL注入攻击的网络脆弱性分析及对策研究_第2页
基于SQL注入攻击的网络脆弱性分析及对策研究_第3页
基于SQL注入攻击的网络脆弱性分析及对策研究_第4页
基于SQL注入攻击的网络脆弱性分析及对策研究_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SQL注入攻击的网络脆弱性分析及对策研究摘要本文针对SQL在具体的运营和实施过程中,存在的一系列的问题,研究SQL注入的原理及注入的一般步骤,并且在对一系列的问题进行系统性的研究和管理的前提之下,最大程度的实现整个事宜在实际的经营和具体的管理过程中的相关的解决方案和实施办法。主要研究内容如下:(1)详细介绍SQL注入的一般步骤,对网络在具体的运营和实际的实施过程中存在的乙烯利的问题做出了系统性的说明和管理。(2)在具体的研究过程中,不仅仅是从其实用性的层面上,同时也从其研发的角度上进行了系统的研究和分析,在具体的研究过程中,关注的更多的是其实用性以及其在具体的发展过程中的系统性的诸多特征的实施和形成。首先分析了目前在这一问题的研究过程中,最为重要的扫描工具以及其相关的研究工具,接着在具体的扫描过程中,涉及到的产品的脆弱性以及其在具体的实施过程中的亟待完善和解决的问题做出了系统的说明和管理,而且在对于产品在具体的研究过程中,对于如何最大程度的实现对产品的较为准确的测评,做出了系统的说明和管理,这一点在具体的经营和实施的过程中,发挥的综合作用是尤为重大的,也是在实际的经营过程中,需要加强关注和重视的问题。最后在文章的结尾,针对于目前存在的这一系列的问题,如何最大程度的予以较好的管理和解决实施,给出了较为系统化的指导建议和意见,以期实现在具体的管理过程中,不管是从哪个层面上,都能够产生较好的发展成效,这一点是尤为重要的,也是在具体的SQL在具体的执行过程中,需要加强关注和重视的问题。关键词:网络安全;脆弱性分析;SQL注入

AbstractInthispaper,westudytheprincipleofSQLinjectionandthegeneralstepsofinjection,aimingattheproblemsofSQLinjectionattacks,andonthisbasis,wefurtherstudythemethodsofvulnerabilitydetectionandpreventionofSQLinjection.Themainresearchcontentsareasfollows:(1)thegeneralstepsofSQLinjectionareintroducedindetail,andtheclassificationofnetworkvulnerabilityisdescribedindetail.(2)thispaperfocusesonthediscussionofvulnerabilityfromtheperspectiveofpracticalityandproductdevelopment.Firstly,theadvantagesanddisadvantagesofthecurrentpopularvulnerabilityscanningtoolsareanalyzed,andthenthetechnicalrequirementsandevaluationmethodsofvulnerabilityscanningproductsaredescribedindetail.Intheend,thepaperpresentstheapplicationofthepenetrationtestingmethodintheprocessofvulnerabilitytesting.(3)toprovideawaytopreventSQLinjectionattacks,changedthepasttoguardagainstresearchandpreventivemeasuresofpassivedefense,sothatsecuritydefensehasamoretargeted.Databaseandoperatingsystemtoimprovetheabilitytoattack,databaseandoperatingsystemmoresecure.Keywords:networksecurity;vulnerabilityanalysis;SQLinjection

目录TOC\o"1-3"\h\u1绪论 绪论1.1研究背景及意义由于时代的发展是,社会的进步,互联网不管是从哪个层面上来看,都是进入到人们生活中的方方面面,并且在具体的经营和实施的过程中,发挥着尤为重大的作用,互联网安全在具体的实施和运营的过程中,不管是从哪个层面上来看,对于人们的生活发挥的作用也显得尤为重要,只有确保了互联网的安全问题,人们才能够在一个较为安定祥和的环境之下生活。互联网在具体的经营和实际的发展过程中,不管是从哪个层面上来看,对于人们的生活都产生了较为深远的影响。互联网在具体的运营和实施过程中,是一种较为开放化的态度,不同的地界,不同的人们在这样的一种综合的发展环境之下,都是得到了较大程度的发展,并且在具体的运营过程中的,对于整个系统的发展也是发挥着尤为重要的作用,但是从目前的综合发展来看的话,我们不难发现,网络安全问题的隐患逐渐的被凸现出来了,这也是在具体的实施和管理的过程中,我们需要加强关注和重视力度的。我国的计算机在具体的发展过程中,不管是从其发展历史上来看,还是从其在实际的经营过程上来看,我们都不难发现,我国的计算机的综合起源都是较晚的,人们在具体的计算机和网络的发展过程中,对于互联网安全意识不管是从宏观的层面上,还是从微观的层面上来看,都是存在着较大的不足的,因而加强公众的安全意识,是我们当下需要着力的关注和重视的问题。也是基于这样的一项综合原因的存在,对目前网络在具体的运营和实施的过程中,存在的诸多不合理,不安全的问题加大重视力度和关注力度,意义是尤为重大的,只有这样,才能够更好的实现网络的规范性以及安全性,这一点在具体的实施和执行的过程中,是我们需要重点的关注和加强的问题。网络系统在具体的运营过程中,如果遭遇到了较大的威胁的话,从其自身的角度上来分析的话,我们不难发现,通常就是网络在具体的运营过程中,网络自身的安全问题就是存在着诸多的隐患的,因而这一问题不管是从哪个层面上来看,都是需要加强关注和重视的问题。很多的网络攻击者在具体的实施和管理的过程中,对于这一问题不管是从哪个层面上来看,。都是需要我们着力的关注和重视的问题,并且攻击者在具体的攻击过程中,也是需要加强我们自身的网络防御能力的,只有怎样,才能够避免被攻击。1.2国内外研究现状互联网在具体的实施和管理的过程中,从一个较大的范围上来看的话,我们不难发现,互联网遭遇黑客侵犯的现象是尤为普遍的,要想最大程度的实现这一问题以及这一现象的缓解,是我们在具体的实施和运营的过程中,需要着力的关注和重视的问题,由于互联网在具体的信息传播的过程中,不管是从信息量上,还是从其综合的传播速度上,都是较快的,并且不管是从国内的层面上,还是从国际的层面上,对于这一信息都是给予了较强的关注度和认可度的,SQL注入技术从目前我国的综合发展形式上来看,我们不难发现,他在具体的发展过程中,都是目前大力探索和研究的主要方向。我国1999年10月发布了“计算机信息系统安全保护等级划分准则”,这项准则在具体的实施和执行的过程中,对于整个运营体系也是产生了较好的影响,并且对于互联网安全等相关问题也给出了较为系统性的指导和建议,但是这项研究在具体的实施和执行的过程中,相较于先进的发达国家,是存在着较大的差异的,要想最大程度的实现这一问题的较好的解决,是我们在未来的实际发展过程中,需要着力的关注和重视的问题。从安全体系的发展层面上来看的话,我们不难发现,各个国家在安全系数上给予的关注都是非常重大的,科学在具体的研究和执行的过程中,是一定的按照相关的规定和要求来执行的,只有这样,整个运营体系才能够产生一种较好的发展状态,以及研究清晰的、完整的安全策略和机制。目前存在的主要问题是:低水平分散、重复研究,整体技术创新能力不足,信息产业在具体的实施和执行的过程中,不管是从哪个层面上来看,都是存在着较多的需要完善和解决的问题,很多发挥着主要作用的系统在具体的实施和执行的过程中,也是需要我们加大研发力度和重视力度的。1.3研究内容通过目前国内以及国外在具体的发展和实施的相关现状以及具体的发展情况上来看的话,我们不难发现,要想实现互联网在具体的运营和实际的发展过程中,保持一种较好的发展状态,至关重要的环节就是在具体的实施过程中,维持较好的研究态势,本文从以下方面探讨SQL注入攻击与SQLServer数据库的安全:(1)详细介绍SQL注入的一般步骤,对网络在具体的运营过程中的相关问题做出了较为系统全面的阐释和说明。(2)在具体的研究过程中,从实用性以及理论性这两个层面上,对相关的问题做出了较为系统化的阐释和说明,并且在具体的实施过程中,关注的更多的是实用性。首先分析了目前的这一扫描技术在具体的实施和执行的过程中,存在的不完善和亟待优化和改善的方面,接着对脆弱性扫描产品的技术要求和测评方法进行了详细的描述。最后给出了目前刚刚在脆弱性产品测试过程中应用的渗透测试方法。以期在具体的实施和实际的枝形过程中,能够最大程度的在这一问题上,有一个较好的研究和较大的突破,这一点在具体的实施和执行的过程中,是需要着力的关注和研究的问题,并且在相关事宜践行的过程中,也是一项至关重要的环节,因而这一点是尤为重要的,在具体的研究和实施的过程中,加强这一问题的关注和重视,不管是从宏观的层面上,还是从微观的层面上,都是需要着力的关注和重视的问题。2相关技术及理论概述2.1SQL注入技术分析2.1.1SQL概述SQL是一种介于关系代数与关系演算之间的结构化查询语言,在具体的实施过程中,其行驶的综合功能不仅仅是从查询的层面上,实现其相关功能的行驶。SQL是一种综合性较强的数据库语言,在具体的实施过程中,不管是从哪个侧门上来看,都是存在着极大的需要完善和解决的问题的。SQL语言支持关系数据库三级模式结构,如图2-1所示。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。图2-1网络面临的威胁和攻击SQL语言在具体的实施过程中,不管是其综合的功能还是其具体的实施细则,之所以能够得到越来越多的人的关注和认可,并且得到大多数人的支持和认可,并且在具体的实施和执行的过程中,不管是从哪个层面上来看,都是存在着诸多的可实施性的。SQL语言集数据查询(DataQuery)、数据操纵(DataManipulation)、数据定义(DataDefinition)和数据控制(DataControl)功能于一体。2.1.2脚本攻击概述现在的主流脚本包括以下几种:HTML(HypertextMarkupLanguage):是一种用来制作web超文本格式文档的web开发语言,HTML开发的web页面除了显示文字以外还可以显示图片、声音等。ASP(ActiveServerPage):它是一种包含了使用VBScript或Javascript脚本程序代码的网页。当用户在进行具体的网页浏览的时候,Web服务器就会请求生成相应的HTML代码然后再返回给浏览器,这样浏览器但看到的就是动态生成的网页。它可以与数据库或其他程序进行交互。是一种简单,方便的编程工具。JavaScript:它是由NETCAPA公司开发,并随NETCAPANAVIGAOR一起发布的,基于对象(ObjectBased)和事件驱动(EventDriver)的编程语言。他在具体的实施过程中,不管是从内容的丰富度上,还是从其他的层面上,其前身是NETCAPA开发的脚本语言LiveScriptAVBScript:它实际上是MicrosoftVisualBasic的一个子集,是基于VisualBasic的脚本编写语言。它用于创建客户方的脚本程序,并且对于网页上的一些动态特征也能够产生较好的回应,这一点是在具体的实施和执行的过程中,需要加强关注和重视的问题。ActiveX:是Microsoft提出的一组应用COM(ComponentObjectModel,组件对象模型),这样的一种系统,使得网络在具体的发展过程中,能够保持一种较好的发展状态。他与具体的编程语言无关。因而,在具体的实施和执行的过程中,对于这样的一种语言在具体的编程过程中的特殊的性质,是我们需要重点的关注和加强的问题,只有在这一问题上,维持一种较好的编程状态,其最终的成效也是尤为可观的。通过对目前的网络状况进行具体的研究和分析,我们不难发现,主要可分为三种:跨站脚本攻击(CSS/XSS),脚本注入攻击(ScriptInjection),IE脚本攻击。2.1.3SQL注入步骤分析(1)漏洞成因一个典型的SQL语句是这样的:这个查询语句将会从“authors”表中返回“id”,“forename”和“surname”列的所有行。返回的结果记录集也可以加以特定条件“authors”限制:注意到这里很重要的一点是“john”和“smith”是被单引号引住的,假设“forename”和“surname”字段是来自于用户的输入,攻击者就可能通过输入非法字符串来对这个查询进行SQL注入,例如:查询语句就会变为:当数据库试图执行这个查询,它会返回这样的错误信息:这时因为插入的单引号使得原先的较为良好的数据状态相较于之前,实现了较大的破坏,数据库执行到“”时失败,如果攻击者这样输入:但是很多的人错误的认为,在具体的实施和执行的过程中,如果不能很好的实现这一问题的较好的关注和执行的话,那么最终无疑是会产生较大的不利于实际发展的状态产生的。的确如此,但要实施此方案还有很多困难。在这样的一种综合的发展因素之下,攻击者是能够随意的对SQL语言进行篡改的,这样的一种状态在具体的实施和执行的过程中,也是我们需要着力的关注和重视的问题。在SQL语句撰写的过程中,使用着各种分隔符,比如MSJetDBMS引擎,日期可以用‘#’符号来分隔。其次,在具体的单引号使用的过程中,也是需要重点的关注的问题之一,要想最大程度的实现这一问题的较好的解决,并不是单纯的从单引号这一问题上,就能够予以较好的解决的,而应该从一个较大的层面上,予以更好的解决,这一点是在具体的编程过程中,需要重点的关注和重视的问题。(2)漏洞检测方法①附加法通过and在原URL的末尾附加构造的恶意代码。如果1正常显示,而2报错,如果出现这样的情况,那么毫无疑问,在具体的实施和执行的过程中,就会存在着诸多的不合理的相关情况存在。如果都正常显示或者都不正常,那可能是被过滤掉了。也可用“‘”来检测是否有漏洞,检侧是否允许执行此时,如果存在漏洞,那么将报错。因而,在具体的编程过程中的,对于这一问题,在具体的实施过程中,是非常有必要予以系统化的实施和执行的,也是需要重点的关注和加强的问题。②替换法替换在原URL中的部分SQL代码为构造的恶意SQL代码。如果猜对表命名,将有可能出现下面三种情况:a.显示某部影片的信息(巧合的情况)b.显示影片找不到(如果有判断是否为EOF)c.提示错误信息(EOFORBOF)如果猜错,将会直接提示找不到表名。同理可以在()内构造其他SQL查询代码,进行进一步攻击。(3)SQL注入的危害SQL注入的危害:攻击者可以利用这样的工具或者方式实现对相关数据的篡改,最终对数据库中的一些较为重要的信息进行窃取,这样的一种行为或者是这样的一种状态是非常不可取的,也是在具体的实施和执行的过程中,需要加强关注和重视的问题;可以获得数据库管理员的权限;如果能够再利用SQLServer来进行一些储存指令的实施和执行的话,攻击者就可以轻而易举盗取数据库中的相关重要数据。几点注意事项:①选择注入形式,URL中接受用户输入数据的类型的不同,会使得注入时使用的输入内容有所差异。OSQL注入的存在原因是Web应用在对用户进行具体的管理和筛选的过程中,能够较好的对这样的一种状态实施一种较好的管理,这一点是尤为重要的,也是在具体的实施和执行的过程中,需要加强关注和重视的问题,但是这并不意味着一定要过滤掉一些没有用的信息。③存储过程有很多,SA(systemadministrator)用户意味可以使用所有的存储过程,它和系统Administrator用户类似。2.2网络脆弱性分类2.2.1脆弱性分类意义在对网络进行搜集整理以及脆弱性的管理和分析的过程中,我们不难发现,我们发现系统中的脆弱性种类繁多,互联网安全问题不管是从广度上还是从深度上,涉及到的层面也是非常多的,涉及到的攻击方式也是非常繁多的,要想最大程度的实现这一问题的较好的解决,需要给予的关注和重视力度也是非常多的,互联网的脆弱性以及安全问题在具体的实施过程中,表现的也尤为明显。根据相关的统计结果表明,每天都会诞生一种较为全新的攻击方法。也是基于这样的一种综合的现实因素的存在,故而在具体的实施和执行的过程中,存在着诸多的实际性的问题。在具体的分析和实际的解决过程中,我们关注的更多的是如何最大程度的实现这一问题的较好的发展和管理,进而最终在整件事宜上,产生较好的发展成效。在对网络的脆弱性等相关问题进行了较为系统化以及合理化的解决之后,我们发现:很多的网络安全问题在具体的实施和执行的过程中,是存在着较多的相似之处的,如何最大程度的在众多相似之处中,寻求一个较大的突破点和共同点,是我们需要着重关注的问题;过于网络安全的脆弱性研究上,我们是非常有必要从一个多角度,多层次,多维度的层面上予以较好的分析和研究的,只有这样,才能够最终使得这一问题得以较好的完善和解决,使得网络在晶体的安全性的脆弱性等问题的解决上,能够找出较大的相似性以及共同点,这样的一种管理方案和解决措施,不管是从哪个层面上来看,都能够极好的帮助我们对相关的问题予以较好的实施和解决,这一点不管是从宏观的层面上,还是从微观的层面上来看,发挥的综合作用都是尤为重大的,也是我们在具体的管理过程中,需要加强关注和重视的问题。2.2.2脆弱性分类方法(1)基于引入原因的脆弱性分类①配置错误主要包括以下几种:服务程序的设置参数不对、文件或服务的权限设置有误、程序安装的位置有误、环境变量设置有误。②编码错误软件编码在具体的实施和执行的过程中,难免是会存在着较大的失误现象存在的,主要包括以下两种情况:条件验证错误,包括边界条件验证错误,访问权限验证错误,数据源验证错误,输入合法性验证错误,异常条件处理错误。这些问题在具体的实施和践行的过程中,都是需要我们重点的予以关注和管理的,只有在这一问题上,予以了较为系统化的实施和解决,才能够最终在这一问题上,给予较好的解决,因而这一问题也是在相关事宜执行的过程中,需要重点的关注和加强的,故而,其重要性以及其迫切性,是可见一斑的。(2)基于生命周期的脆弱性分类软件在具体的实施和执行的过程中,是会存在着一定的生命周期的,WenDu等人对软件的生命周期提出了一系列的较为系统化以及客观化的建议和意见。由此形成了网络脆弱性的生命周期:脆弱性产生的原因一旦被发现,最终就会得到良好的管理和解决,最终在这一问题上,实现一种较好的发展状态,这一点不管是从哪个层面上来看,都是我们需要着力的关注和重视的问题,也是在具体的经营过程中,需要加强关注和重视的问题。该分类主要应用于这样的目标:针对每一类脆弱性寻找合适的软件测试、调试技术,从而对实际存在的网络的脆弱性问题予以实时的解决,进而最终实现脆弱性问题的较好的管理,这一点在具体的实施过程中,其综合的发展意义是非常重大的,也是我们需要重点的关注和加强的问题。(3)基于入侵签名的分类KUMAR提出的是基于入侵签名的分类方法。入侵检测就是基于这种目的的安全措施。3网络脆弱性分析应用3.1网络脆弱性扫描工具图3-1网络脆弱性扫描产品的系统组成系统的基本组成由四个模块构成:界面、扫描引擎、结果评估分析和数据库。如图3-1所示。分布式系统由一个以上的扫描引擎和其他三个模块组成。界面:1)负责接受并处理用户输入、定制扫描测策略、扫描操作、定制评估分析报告等;2)显示系统工作状态。扫描引擎:1)响应界面指令;2)读取扫描策略数据库,并依此制定执行方案;3)执行扫描方案,启动扫描进程和线程,并进行调度管理;4)将扫描结果存档保存。结果评估分析:1)读取数据库中扫描结果信息;2)生成结果报告。数据库:1)存放扫描结果、定制策略内容、脆弱性描述及其解决方法;2)提供数据查询、管理功能下面介绍流行的脆弱性扫描产品,它们都被广泛应用,极大的简化了安全管理员进行网络脆弱性扫描的工作,主要有以下三个:(1)SSS2005年07月04日发布,发布了ShadowSecurityScanner的最新版本v7.58Build129,SSS在安全扫描市场中享有速度最快,功效最好的盛名,其功能远远超过了其它众多的扫描分析工具。(2)RetinaRetina最有竞争力的优点是能够对很多的已经存在的漏洞或者是已经存在的问题予以实时的修复和解决,并且对于已经存在的漏洞能够提出实时的解决方案和措施,进而最终实现漏洞的较好的修复。Retina的助手工具使得客户在具体的操作过程中,是在一个较为安全有效的范围之内,实现对相关事宜的管理和执行的,比如防病毒部署和企业标准注册登记表的设置。“自动修复性能是Retina在具体的实施过程中,尤为重要的一项功能,相较于其他的软件,这样的一项软件在具体的实施和执行的过程中,发挥的作用是尤为重大的,也是我们在具体的管理过程中,需要重点的关注和加强的问题,当然这项功能在具体的实施和执行的过程中,发挥的综合作用也是尤为重大的,需要我们予以格外的关注和重视”,PCMagazine的编辑这样评价Retina。(3)NESSUS服务器可以在机会所有Unix类系统上运行。它甚至可以运行在MACOSX和IBM/AIX,但是在Linux上的安装应该是更简单的。这样的一些功能在具体的实施和执行的过程中,是具备较强的灵活性的。客户端有Windows下和Unix下的版本。应当经常对插件进行升级。从维护列表升级插件,这一事宜在具体的实施和执行的过程中,其相关的功能是非常简单的,当然在具体的使用过程中,也是尤为高效的,只需要用:NESSUS_UPDATE_plugins就可以完成了。3.2脆弱性扫描产品测评1、测试内容(1)自身安全测试对基本型网络脆弱性扫描产品自身安全进行测试,包括身份鉴别、适用范围限制、敏感信息保护、软件使用记录等。(2)安全功能测试对基本型网络脆弱性扫描产品安全功能进行测试,包括脆弱性扫描、网络旁路检查、信息获取、端口和服务扫描等。对增强型网络脆弱性扫描产品自身安全进行测试,在基本型产品测试基础上,增加脆弱性修补功能测试。(3)性能测试对产品的基本性能指标进行测试,包括速度、稳定性和容错性等。(4)管理要求测试对基本型网络脆弱性扫描产品管理要求进行测试,包括授权管理员访问、扫描结果分析处理、扫描策略定制、扫描对象的安全性、升级能力等。(5)可用性测试对基本型网络脆弱性扫描产品使用要求进行测试,包括安装与操作控制、物理控制等。(6)互动性测试对增强型网络脆弱性扫描产品的互动性进行测试,在基本型产品测试基础上,进行产品与IDS产品的互动、与其他应用程序之间的互动的功能测试。(7)保证要求检查对网络脆弱性扫描产品进行保证要求检查,包括配置管理、交付和操作、开发、指南文件、测试、脆弱性分析等保证要求。2、测试环境图3-2是脆弱性扫描产品测试所需的测试环境,一般来说,我们会用防火墙隔离内部网络和外部网络。我们会分别在外网的入口和内网部署网络脆弱性扫描工具。图3-2网络脆弱性扫描产品测试环境图表3-1脆弱性扫描产品测试环境组件及其功能表3-1是网络测试环境中的各个组件以及它们的功能描述。在表中可以看到脆弱性扫描产品A部署在外网,而网络脆弱性扫描产品B部署在内网。3、测评方法脆弱性扫描测评方法:(1)根据网络脆弱性扫描产品版本发行说明、安装手册、用户手册、管理员手册、配置管理文档、测试文档、高层设计文档等,确定测试对象(产品、扫描对象等),根据“网络脆弱性扫描工具技术要求”中的“网络脆弱性”项目列表,分别编写测试用例。(2)预期结果网络脆弱性扫描产品在进行网络扫描时,在成功进行“网络脆弱性项目列表”中各项测试时均满足以下要求:①目标系统开启了相应的服务;②宿主机拥有对目标系统的相应访问权限,或拥有具备访问权限的账号/口令对。3.3渗透测试渗透测试总体上分为三个阶段,分别为预攻击阶段、攻击阶段和后攻击阶段。如图3-3所示:图3-3渗透测试流程图1、预攻击阶段检查应用系统架构,防止用户绕过系统直接修改数据库;检查身份认证模块,防止非法用户绕过身份认证;检查数据库接口模块,防止用户获取系统权限;检查文件接口模块,防止用户获取系统文件;等等。2、攻击阶段可以采用各种公开及私有的缓冲区溢出程序代码,也可以采用诸如MetaFramework之类的利用程序集合。3、后攻击阶段口令破解一般用于弱口令的检验,通常是必须具备了相应的权限之后,才能够按照相关的规定和要求来予以较好的执行和操作的,只有这样,整个事宜在具体的管理过程中,才能够最大程度的发挥出其应有的效用,这一点是尤为重要的,也是在具体的实施和执行的过程中,需要着力的关注和重视的问题。有很多著名的口令破解软件,如Crack、JohntheRipper等。4SQL注入的安全防范4.1验证所有输入对应用程序接收的数据不做任何有关大小、类型或内容的假设。例如,评估以下内容:如果是一个用户在需要邮政编码的位置无意中或恶意地输入了一个10MB的MPEG文件,应用程序应做出相应反应。通过这样的一种方式能够极大程度的实现在具体的验证过程中,进行必要的输入,如果在具体输入的过程中,不能按照相关的规定和要求来实施和执行的话,那么最终在验证的过程中,是不能够正常的验证通过的。实现多层验证。这样的一种指令在具体的实施和执行的过程中,对于一些具有相应的恶意入侵的黑客,在具体的实施和执行的过程中,是发挥不了太大的效用的,因而在实际的经营和具体的管理过程中,对于这样的一种情况也是需要加强关注和重视的问题。最好的做法就是用户在用户应该进入的页面来予以实时的进入,并且在对应的页面进行必要的验证性的输入,只有这样,则才能够最大程度的确保信息安全在具体的实施过程中的较大的发展和较好的实施,这一点发挥的综合作用是尤为重大的,也是在具体管理的过程中,需要加强关注和重视的问题。对于一些没有经过验证的用户,是坚决不能够允许轻易的而进入的。字符串串联是脚本注入的主要输入点。在一些相关的字段在具体的管理过程中,不接受下列字符串:AUX,CLOCKS,COM1到COMB、CON、CONFIG$、LPT1到LPTB、NUL以及PRN。如果可能,对于一些包含下列字段的内容,在具体输入的过程中,也是需要予以着力的关注和重视的,只有这样,整个事宜在具体的管理过程中,才能够最大程度的发挥出其应有的成效,如表4-1所示:表4-1拒绝输入的字符类型在这里,只给出其中的一种情况,如果输入的用户名含有“’”时,如下图4-1所示:图4-1输入非法字符系统应阻挡此类非法访问,并给出提示信息,如图4-2所示:图4-2输入非法字符的报错信息另外,要使用类型安全的SQL参数,SQLServer中的Parameters集合提供了类型检查和长度验证。如果使用Parameters集合,则输入将被当成文字值而不是可执行代码进行处理。使用Parameters集合的另一个好处是可以强制执行类型和长度检查。在这个正常的范围之外的情况,按照相关的规定和要求,都是非常有必要予以较好的实施和执行的,只有这样,整个事宜在具体的管理过程中,才能够保持一种较好的发展状态,这一点是尤为重要的,也是在具体的实施和执行的过程中,需要着力的关注和重视的问题。如果使用存储过程,则应使用参数作为存储过程的输入,在动态SQL中使用参数集合。如果不能使用存储过程,仍可使用参数,如下所示:4.2筛选输入筛选输入可以删除转义符,这也可能有助于防止SQL注入由于可引起问题的字符数量很大,因此这并不是一种可靠的防护方法。以下代码片段可搜索字符串分隔符。LIKE子句注意:如果要使用LIKE子句,还需要对通配符字符进行转义:4.3配置安全数据库服务器1、删除不必要的扩展存储过程利用中的SQLServer存储过程,入侵者可以很容易地构造相应的SQL语句,进行修改数据库、系统用户名、系统注册表等各种危害性极大的操作,因此有必要删除掉无用的存储过程。只有在不必要的扩展存储过程中,予以了必要的删除,那么最终导致的结果就是在具体的实施和执行的过程中,能够产生一种较好的状态,并且在具体执行的过程中,维持一种较好的编码状态,进而最大程度的制止不良的用户进入到相关的界面,盗取重要的信息的这样一种过程,因而这一点在具体的实施过程中,发挥的综合作用也是尤为重大的,加强这一问题的关注和重视,不管是从宏观的层面上,还是从微观的层面上来看,都是需要重点的关注和加强的问题。2、使用安全的数据库帐号在一些网站中给予一般用户连接数据库SQLServer或MySQL的权限都是“SA”这是非常危险的做法,在实际的账号分配的过程中,应该根据实际的情况,在具体的账号分配的过程中,不管是从哪个层面上都能够有一个较为高效有序的发展状态,并且在对于不同的用户在具体的使用过程中,给予的重视力度和关注力度是存在着较大的差异的,因而这一点在具体的执行过程中,是需要重点的关注和加强的问题。4.4IIS设置在具体的ISS设置的过程中,可以采取下面的方法防止SQL注入:4.5安全ASP程序的编写1、处理好用户名与口令应用权限涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限;涉及与数据库连接,在理想状态下只给它以执行存储过程的权限,在相关的权限管控的过程中,要最大程度的实现用户在相关的权限在具体的管理过程中,维持一种较好的权限管理的方式,不同的管理员能够执行的权限应该是有差异的,只有这样,才能够最大程度的实现互联网在具体的使用过程中,其综合的安全性以及高效性得到较好的保证,这一点是尤为重要的,也是在具体的实施和执行的过程中,需要加强关注和重视的问题。2、inc文件泄露所以程序员在对相关的程序进行正式的发布之前,是非常有必要对其进行系统客观的调试和管理的即:首先对.inc文件内容进行加密,其次也可以使用.文件代替.inc文件使用户无法从浏览器直接观看文件的源代码。inc文件的文件名不要使用系统默认的或者有特殊含义容易被用户猜测到的名称,在具体的英文字母使用的过程中,应该最大程度的保持无规则的英文字符在具体的使用过程中,不管是从使用的面上,还是从使用的综合频率上,都能够维持一种较为高效快捷的发展方式,这一点是尤为重要的,也是在具体的发展过程中,需要重点的管理的问题。5结论由于时代的发展,信息的进步,互联网在具体的使用过程中,不管是从使用的深度上,还是从其综合的使用广度上,都得到了较大程度的提升和加强,并且得到的大众的认可度和关注度也变得越来越高,人们对于信息的安全性管理,在具体的实施过程中,给予的重视力度相较于之前,也逐渐的重视了起来,之所以互联网在具体的实施和执行的过程中,会存在着较大

温馨提示

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

评论

0/150

提交评论