SQL注入式攻击与防范(共8页).doc
《SQL注入式攻击与防范(共8页).doc》由会员分享,可在线阅读,更多相关《SQL注入式攻击与防范(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 优集学院学期论文3论文题目:基于ASP.NET的SQL注入式攻击与防范 专心-专注-专业基于ASP.NET的SQL注入式攻击与防范摘要:SQL注入是黑客攻击web站点的一种常见手段。本文简要介绍了基于ASP.NET的SQL 注入攻击的类型,注入攻击的原理以及SQL 注入攻击的实现过程,并论述了数据库中的一些攻击方法和防范措施,利用实例进行剖析。利用SQL注入攻击的原理、公共网的SQL注入漏洞分析、典型的攻击过程剖析以及防范的策略来论述数据库的安全防范。关键词:数据库;SQL 注入;客户端程序;防范检测技术;安全防御ASP.NET-based SQL injectio
2、n attack and preventionAbstract:SQL injection is a common means of hacking web site. This article introduces the ASP.NET-based type of injection attack, the principle of injection attack and the implementation process of SQL injection attack. At the same time, discussing some methods of attack and p
3、reventive measures and using instance to analyze. Expounding the security and protection of database by using the principle of SQL injection attack, analysis of public network of injection, typical analysis of injection process and the precautionary strategy. Key words: database; SQL injection; clie
4、nt program; technology of prevent detection; security defense前言在计算机技术高速发展的今天,越来越让人们头疼的是面临越来越“变态”和复杂的威胁网站技术,他们利用Internet执行各种恶意活动。近年来,SQL注入攻击的数量一直在增长,使得互联网的安全问题越来越严重。许多公共网站,包括政府,教育部门以及一些企业都遭受到了SQL注入的攻击;若干包含恶意 代码被加到网站的数据库中,当用户访问这些可信站点时,浏览器会被指向包含恶意代码的网站。如果用户计算机系统存在可被利用的安全漏洞,同时并未安装有效的防病毒系统,攻击者可在用户电脑上运行更多
5、的恶意代码,从而导致用户电脑被控制。1 注入攻击类型从目前来看,注入式攻击技术中有 CRLF 注入攻击技术和SQL 注入攻击技术。CRLF 的含义是carriage return/line feed。意思就是“回车”。这是两个ASCII字符,CR和LF是在计算机终端还是电传打印机的时候遗留下来的东西。电传打字机就像普通打字机一样工作,在每一行的末端,CR命令让打印头回到左边。LF命令让纸前进一行。CRLF注入攻击并没有像其它类型的攻击那样著名1。而 SQL 注入攻击由于其广泛性、易学性、难追踪性成为了注入攻击方式的主流。下面主要介绍下SQL注入攻击。2 SQL注入攻击原理和过程2.1 SQL注
6、入攻击原理SQL 注入(SQL Injection)是指攻击者能够通过向查询语句中插入一系列的SQL语句来操作数据,写入到应用程序中去。随着B/S模式应用开发的发展,使用这种模式的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果获得某些他想得知的数据2。这就是所谓的SQL Injection,即SQL注入。目前没有对 SQL注入技术的标准定义,微软中国技术中心从两个方面进行了描述:(1) 脚本注入式的攻击;(2) 恶意
7、用户输入用来影响被执行的SQL 脚本。SQL注入攻击最初主要是利用程序开发人员编写代码的漏洞来进行攻击,大致来说可以分为:授权旁路型,SELECT型,其它型。2.2 SQL注入攻击过程2.2.1 寻找并验证SQL注入位置寻找SQL注入点的经典方法是在有参数传入的地方添加如and1=1 和 等一些特殊字符,通过浏览器所返回的错误信息来判断是否存在SQL 注入。一般来说SQL 注入存在于形如:HTTP:/xxx.xxx.xxx/abc.asp?id=XX等带有参数的ASP动态网页中。有时一个动态网页中可能有一个参数,有时可能有N个参数。有时是整型参数,有时是字符串型参数,不能一概而论。总之,只要是
8、带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL 注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在 SQL 注入的可能性就非常大。2.2.2 获取信息获取信息是SQL注入中一个关键的部分,SQL 注入首先需要判断存在注入点的数据库是否支持多句查询、子查询、数据库用户账号、数据库用户权限。如果用户权限为sa且数据库中存在xp_cmdshell存储过程,则可以直接转入下一步操作。一般来说,ACCESS 与SQL SERVER是最常用的数据库服务器。尽管它们都支持T-SQL标准,但还有不同之处且不同的数据库有不同的攻击方法,必须要区别对待。2.2.3 发现Web虚拟目录只
9、有找到WEB虚拟目录,才能确定放置ASP木马的位置,进而得到USER 权限。通常来说有两种方法比较有效,一是根据经验猜解,一般来说WEB虚拟目录是c:inetpubwwwroot; D:inetpubwwwroot; E:inetpubwwwroo等,而可执行虚拟目录是c:inetpubscripts; D:inetpubscripts; E:inetpubscripts等;二是遍历系统的目录结构,分析结果并发现WEB 虚拟目录3。2.2.4 上传ASP木马所谓ASP木马,就是一段有特殊功能的ASP代码并放入WEB虚拟目录的 Scripts下。远程客户通过IE就可执行它,进而得到系统的USER
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 注入 攻击 防范
限制150内