1 / 11
文档名称:

SQL注入攻击原理和攻击实例.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL注入攻击原理和攻击实例.doc

上传人:yixingmaob 2014/11/22 文件大小:0 KB

下载得到文件列表

SQL注入攻击原理和攻击实例.doc

文档介绍

文档介绍:SQL注入攻击原理和攻击实例
摘要:
随着网络技术的迅猛发展,计算机网络已经成为人们工作生活中的重要组成部分,在各个领域迅速普及,整个社会对其的依赖程度越来越大。随着网路安全意识的增强,单一方法的渗透测试已经不能满足远程渗透的需要。更为有效的远程渗透测试采用的是渐进式的综合攻击技术,突破内网提取目标主机的权限,以最终获取机密资料。因此SQL注入攻击为主的web脚本攻击作为进入内网的首选,成为黑客渗透测试中重要的技术之一。
关键字:
SQL注入, web应用程序 IIS 防范
什么是SQL注入攻击
SQL注入(Structured Query Language Injection)技术在国外最早出现在1999年,我国在2002年后开始大量出现,目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述:
(1)脚本注入式的攻击
(2)恶意用户输入用来影响被执行的SQL脚本
SQL注入,就是攻击者通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到让后台数据库执行恶意的SQL命令的目的,并根据程序返回的结果,获得某些攻击者想得知的数据。
可能导致SQL注入的隐患
1、随着B/S(浏览器/服务器)模式应用开发的发展,从事动态网页以及脚本编程的程序员越来越多,在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,很容易就能实现。但是因为程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候存在漏洞,给攻击者提供便利条件。
2、系统对用户输入的参数不进行检查和过滤,没有对用户输入数据的合法性进行判断,或者程序中本身的变量处理不当,使应用程序存在安全隐患。
3、因为SQL注入主要是针对web应用程序提交数据库查询请求的攻击,与正常的用户访问没有什么区别,所以能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的访问权限。
SQL注入的主要危害
1、未经授权状况下操作数据库中的数据,比如管理员密码,用户密码等信息;
2、恶意篡改网页内容,宣传虚假信息等;
3、私自添加系统帐号或者是数据库使用者帐号;
4、网页挂广告、木马病毒等;
5、上传***,进一步得到系统权限,***。
SQL注入的特点
广泛性:
SQL注入攻击可以跨越Windows、UNIX、Linux等各种操作系统进行攻击,其攻击目标非常广泛。而且当前web应用程序应用广泛,而存在的漏洞也都大体具有相似性。
隐蔽性
SQL注入是从正常的问,它是为HTTP即超文本传输协议开放的,是万维网传输信息使用最多的协议。通过该端口的数据都是被防火墙所许可的,因此防火墙不会对SQL注入的攻击进行拦截,使得攻击者可以顺利的通过防火墙。如果管理员没查看IIS日志的****惯,可能被入侵很长时间都不会发觉。
3、攻击时间短
可在短短几秒到几分钟内完成一次数据窃取、一次木马种植、完成对整个数据库或Web服务器的控制。
4、危害大
目前的电子商务等都是基于WEB的服务,交易量巨大,一旦遭到攻击后果不堪设想。另一方面,是关于个人信息的窃取,用之前的CSDN用户资料泄露来说引起了很大的社会反响。
SQL注入攻击实现原理
SQL注入攻击是存在于常见的多连接的应用程序中的一种漏洞,攻击者通过在应用程序预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询。这类应用程序一般是Web应用程序,它允许用户输入查询条件,并将查询条件嵌入SQL 语句中,提交到数据库中执行。通过构造畸形SQL语句攻击者能够获取额外的信息数据。
当应用程序使用输入内容来构造动态SQL语句以访问数据库时,会发生SQL注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生SQL注入。SQL注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态SQL命令,或者作为存储过程的输入参数,这些表单特别容易受到SQL注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是SQL注入就发生了。
SQL注入是从正常的跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的****惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,