SQL注入式攻击.docx
《SQL注入式攻击.docx》由会员分享,可在线阅读,更多相关《SQL注入式攻击.docx(14页珍藏版)》请在第壹文秘上搜索。
1、什么是注入式攻击随着B/S模式应用开发的开展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一局部程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,便应用程序存在平安隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQ1.1.njeCtion,即SQ1.注入。SQ1.注入是从正常的WWW端口访问,而且外表看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQ1.注入发出警报,如果管理员没查看I1.S日志的习惯,可能被入侵很长时间都不会觉察。但是,SQ1.注入的手法相当灵活,在注入
2、的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQ1.语句,从而成功获取想要的数据。据统计,网站用ASP+Access或SQ1.Server的占70%以上,PHP+MySQ占1.20%,其他的缺乏10斩在本文,以SQ1.-SERVER+ASP例说明SQ1.注入的原理、方法与过程。(PHP注入的文章由NB联盟的另一位朋友Zwe1.I撰写的有关文章)SQ1.注入攻击的总体思路是:1发现SQ1.注入位置;1判断后台数据库类型;1确定XPCMDSHE1.1.可执行情况1发现WEB虚拟目录1上传ASP木马;1得到管理员权限;一、SQ1.注入漏洞的判断一般来说,SQ1.注入一般存在于形
3、如:等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQ1.注入。如果ASP程序员没有平安意识,不进行必要的字符过滤,存在SQ1.注入的可能性就非常大。为了全面了解动态网页答复的信息,首选请调整IE的配置。把IE菜单-工具-Internet选项一高级一显示友好HTTP错误信息前面的勾去掉。为了把问题说明清楚,以下以为例进行分析,YY可能是整型,也有可能是字符串。1.整型参数的判断当输入的参数YY为整型时,通常abc.asp中SQ1.语句原貌大
4、致如下:se1.ect*from表名where字段=YY,所以可以用以下步骤测试SQ1.注入是否存在。;(附加一个单引号),此时abc.ASP中的SQ1.语句变成了se1.ect*from表名where字段=YY,abc.asp运行异常;and1=1,abc.asp运行正常,而且与运行结果相同;and1=2.abc.asp运行异常:如果以上三步全面满足,abc.asp中一定存在SQ1.注入漏洞。2、字符串型参数的判断当输入的参数YY为字符串时,通常abc.asp中SQ1.语句原貌大致如下:se1.ect*from表名where字段=YY,所以可以用以下步骤测试SQ1.注入是否存在。;(附加一个
5、单引号),此时abc.ASP中的SQ1.语句变成了se1.ect*from表名where字段=YY,abc.asp运行异常; .3911,=,abc.asp运行正常,而且与运行结果相同: .39;1=,2,abc.asp运行异常;如果以上三步全面满足,abc.asp中一定存在SQ1.注入漏洞。3、特殊情况的处理有时ASP程序员会在程序员过谑掉单引号等字符,以防止SQ1.注入。此时可以用以下几种方法试一试。大小定混合法:由于VBS并不区分大小写,而程序员在过滤时通常要么全部过滤大写字符串,要么全部过谑小写字符串,而大小写混合往往会被无视。如用SeIeCT代替se1.ect,SE1.ECT等;UN
6、ICODE法:在I1.S中,以UNICODE字符集实现国际化,我们完全可以IE中输入的字符串化成UN1.CoDE字符串进行输入。如+=%2B,空格=%20等;UR1.EnCOde信息参见附件一;ASCI1.码法:可以把输入的局部或全部字符全部用ASCH码代替,如U=Chr(85),a=chr(97)等,ASCII信息参见附件二;二、区分数据库效劳器类型一般来说,ACCESS与SQ1.SERVER是最常用的数据库效劳器,尽管它们都支持T-SQ1.标准,但还有不同之处,而且不同的数据库有不同的攻击方法,必须要区别对待。1、利用数据库效劳器的系统变量进行区分SQ1.-SERVER有user,db_n
7、ameO等系统变量,利用这些系统值不仅可以判断SQ1.-SERVER,而且还可以得到大量有用信息。如:anduserO不仅可以判断是否是SQ1.-SERVER,而还可以得到当前连接到数据库的用户名.db_name()0不仅可以判断是否是SQ1.-SERVER,而还可以得到当前正在使用的数据库名;2、利用系统表ACCESS的系统表是msysobjects,且在WEB环境下没有访问权限,而SQI-SERVER的系统表是sysobjects,在WEB环境下有访问权限。对于以下两条语句: and(se1.ectcount(*)fromsysobjec1.s)0 and(se1.ectcount(*)f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 注入 攻击
