SQL注入攻击及防范措施探讨.docVIP

  • 5
  • 0
  • 约3.28千字
  • 约 7页
  • 2018-07-04 发布于福建
  • 举报
SQL注入攻击及防范措施探讨

SQL注入攻击及防范措施探讨   摘要:针对SQL的注入技术及Microsoft SQL Server的安全性配置进行研究与分析。首先,对SQL进行了介绍,然后,从用户、网络和服务器3个角度对网络应用安全结构进行了分析,最后,重点阐述了SQL注入攻击技术以及相应的Microsoft SQL Server安全配置。   关键词:SQL注入;PHP;ASP;网络安全;防范模型   中图分类号:TP309.2文献标识码:A文章编号2013)004015502   1SQL概述   SQL全称Structured Query Language,是一种结构化的查询语言,但是功能却不仅仅限于查询,而是一种运用较为广泛且功能强大的关系型数据库语言,它能够对关系数据的三级模式进行有效的支持。具体情况见图1。   在有效使用SQL语句的基础之上,例如更新数据库中的数据、在数据库中提取有效数据等。目前,SQL语言标准已经有了较为广泛的使用,例如Oracle、Sybase、 Microsoft SQL Server、Access 等。这些关系型数据库管理系统在对SQL语言使用时,还在它原先的基础之上对其进行了一定程度的开发与扩展。   2网络应用安全结构分析   用户、网络以及服务器有机结合,共同组成了系统的整体。用户、网络、服务器这3个要素当中的任意要素出现漏洞,就有可能对网络应用安全造成一定程度的影响。   2.1用户角度   目前,计算机网络技术发展迅速,用户数量急剧增加,网络应用结构的层次与类别呈现出多样化。因此,上至整个大领域,下至一些相对较小的团体,只要他们与应用结构存在着关联,那么他们就有可能成为不法分子入侵数据库的切入点。为了最大程度地避免这类事件的发生,提高系统安全性,就必须做好分配工作,针对不同类别的工作人员,有效且有差异地分配访问权限以及应用范围。图2为用户角度的应用结构。   除此之外,无论是数据库服务器还是系统中的敏感数据,都有成为安全隐患的可能性。因为,只要注入攻击者对整个内部网络应用结构的用户层有一定的了解,他们就可以操作互信关系,最终达成注入攻击的目的。从用户角度分析网络应用安全结构出现缺陷的原因,用户安全意识淡薄是最为关键的。   2.2网络角度   网络结构设计对于网络安全来说,有着十分重要的地位与作用,得到了人们广泛的关注。图3是一个网络结构设计,在这一网络结构设计图当中,不难发现,存在着多个不同的组件连接在一起,正是这样的结构造成了网络结构安全的复杂化。一般情况下,结构层次的复杂程度与安全缺陷的偶然性之间呈正比例关系,也就是说结构与层次的复杂程度越高,那么安全缺陷就具有更大的偶然性。   2.3服务器角度   服务器内部的组件联系较为密切,同时,在局部区域还可以进行一定程度上的相互调用。对于这种交互式作用来说,它虽然可以对应用程序的使用范围进行一定程度上的拓展,但同时也带来了相应的安全问题,如果操作者对一个模块的使用出现操作失误,或者不法分子对模块进行恶意利用,那么网络结构当中的一个环节就很有可能处于十分危险的状态。例如,从数据库中对系统函数进行调用,这种做法有利也有弊。一方面,通过对系统函数进行一定程度上的调用,可以使得系统的管理者或用户能够获得更多的信息服务;但是,如果非法用户据此逃过认证,那么系统的漏洞就会被其利用,从而对相关的权限进行一定程度上的改变,最终达成攻击的目的,尤其是局域网的攻击。   3SQL注入攻击技术分析   对于SQL注入来说,它其实是模拟系统的正常交互过程。一般情况下,是很难将其与正常数据库服务器的访问操作进行区分的,因为两者从表面上看十分相似。正是因为这一原因,目前市场上很少见到会对SQL注入发出警报的防火墙,而如果系统管理员不经常查看服务器日志,则可能被侵入很长一段时间也没有发觉。然而,SQL的注入手法多种多样,且具有较大的灵活性,因此在注入的时候可能会遇到诸多情况。   事实上,SQL注入就是用户向服务器提交内容时,在其中多添加了一些符号或者语句,这样一来,当原本的SQL语句进行执行时,查询条件就会发生改变,然后将攻击者所需要的系统版本、服务器以及相应的数据库类型进行返回,这正是攻击者达到不法目的的手段之一。从这点来看,攻击者的攻击手法就是篡改SQL语法,这样的攻击十分常见。理论上来说,对于所有基于SQL语言标准的数据库软件系统都是有效的,当然,各种软件有自身的特点,而最后的代码可能存在着较大程度上的差异。   SQL注入攻击具有诸多的特征,而在这些特征之中,阶段性无疑是最为典型的。其实SQL注入攻击具有较高的难度,攻击者不可能很轻易地对系统造成攻击,而是需要通过一系列的操作才能达成注入攻击的目的。首先,在正式攻击之前,攻击者需要对相关的信息进行一定程度

文档评论(0)

1亿VIP精品文档

相关文档