SQL注入攻击检测和预防调查
介绍
随着万维网的发展,各组织开始变得更加复杂,组织者觉得管理他们的网站变得越来越复杂。但是随着因特网的广泛使用,一些用户为危害组织的网站工作,这些用户被称为网络犯罪或网站攻击者。 SQL注入攻击是最威胁Web应用安全的方式之一,SQL注入是最严重的漏洞类型。 SQLIA很容易学习和利用,因此这种攻击方法是很容易被攻击者利用。在检测系统中,防病毒和反恶意软件无法检测到这种类型的攻击,不同的安全层还有许多重大的和传统的安全系统。 SQLIA高科技已变得更加普遍,更加雄心勃勃,简单易学实施,日益成熟,因此有必要在计算机安全领域找到这一问题的有效和可行的解决方案。
SQL是一种文本关系数据库语言。有许多品种的SQL,然而,各种方言之间的差异是次要的。SQL函数拟合分为两类:
•数据定义语言(DDL):用来创建表和定义访问权限;
•数据操纵语言(DML):SQL命令,允许一个插入,更新,删除和检索数据库表中的数据。
执行的SQL的典型单位是查询,这是语句通常返回一个结果的集合。 SQL注入是一种通过利用非有效的SQL漏洞的优势通过防火墙来攻击数据库。它是由其中一个基于Web的应用的参数,以改变被传递到后端数据库的SQL语句被修改的方法。攻击者可以通过操纵数据输入,例如,通过添加单引号(')的参数插入一系列SQL语句形成一个查询。它能够使第二次查询,以与第一次一起执行。
程序员常常用SQL链语句,使用用户提供的参数命令组合在一起,因此可以嵌入这些SQL命令的参数内,这就是所谓的动态SQL。必须指出的是,动态SQL必须使用在应用程序或SQL注入是不可能的。 SQL注入被描述为一个“代码漏洞”,也就是严重的任何IIS漏洞。
使用SQL注入对数据库的攻击可能出于三个主要目标:
1)从不常涉及的数据所在数据库窃取数据。
2)为了获得系统配置数据,允许攻击概要文件。这方面的一个例子就是获得所有的数据库密码哈希值,使得密码可以暴力破解。为了获得通过机器主机可以使用包的程序和3GL语言扩展,允许O / S访问来实现对数据库的访问到组织的主计算机。
当攻击者攻击的时候会导致Web应用程序生成的SQL查询结果不是程序员想要的用户界面和功能。例如:
Select id, first name, last name from authors;
该语句将检索“ID”,“用的名字”和“姓”列从“作者”表,返回所有表中的行。“结果集合”将被限制到特定的“作者”使用“,其中“where”条款。
Select id, first name, last name from authors where first name = “James” and last name = “Baker”;
有关的工作和SQLIA的意见
这里有SQLIA对数据库的四大类:
1)SQL操作:操作是通过使用各种操作修改的过程,例如UNION SQL语句的过程。另一种方法为使用SQL操作方法执行SQL注入是通过改变SQL语句的where子句,以获得不同的结果。
2)代码注入:代码注入是插入新的SQL语句或数据库命令插入漏洞的SQL语句的过程。其中的代码注入攻击是追加一个SQL Server执行命令的弱势SQL语句。当支持每个数据库请求多个SQL语句这种类型的攻击是唯一可能的。
3)功能调用注入:函数调用注入是调用到一个脆弱的SQL语句插入不同的数据库功能的过程。这些函数调用可以使操作系统调用或数据库中的数据进行操作。
4)缓冲区溢出:缓冲区溢出是通过函数调用注入引起的。对于大多数商业和开源数据库,这些补丁。这种类型的攻击是可能的,当服务器打补丁。
SQL注入是不是一个新问题。它的发现日期是不确定的。然而,在过去的几年里,SQLIA一直在上升。应用已经被证明是,尽管所有的努力,以限制在形成返回到客户端脆弱。有公司已在努力提供一种解决这一问题开发的几个应用程序。有些被概括如下:
•安全球
采用先进的异常检测,事件关联,以及广泛的签名词典来保护Web应用程序和数据库。它还使用来自同一用户的错误响应,以确定攻击。
•国防部安全
对于Web应用程序,它可以提供关于如何检测SQL注入有用的技巧,一个开源的入侵检测引擎。,代表一个浏览器和应用程序之间,监视请求和响应,因为它们是经过,以防止攻击介入适当的时候。
•气闸
将安全反向代理与入侵防御,内容过滤,用户认证强制执行,而应用级负载均衡和故障转移(Solutions的气密室被授予瑞科技奖2003)。
•VIPER工具渗透测试
据
外文翻译-自行车出租售卖管理系统的设计与实现 来自淘豆网m.daumloan.com转载请标明出处.