日期:2011-05-02 15:21:00 来源:本站整理
SQL注入漏洞全接触--入门篇(二)[MSSQL防范]
本文“SQL注入漏洞全接触--入门篇(二)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
那么,什么样的测试办法才是对比精确呢?答案以下:
① http://www.19cn.com/showdetail.ASP?id=49
② http://www.19cn.com/showdetail.asp?id=49 and 1=1
③ http://www.19cn.com/showdetail.asp?id=49 and 1=2
这就是经典的1=1、1=2测试法了,怎么判断呢?看看上面三个网址返回的后果就知道了:
可以注入的表现:
① 正常显示(这是必定的,不然就是程序有错误了)
② 正常显示,内容基本与①相同
③ 提醒BOF或EOF(程序没做任何判断时)、或提醒找不到记录(判断了rs.eof时)、或显示内容为空(程序加了on error resume next)
不可以注入就对比简单判断了,①一样正常显示,②和③普通城市有程序定义的错误提醒,或提醒范例转换时出错.
当然,这只是传入参数是数字型的时刻用的判断办法,实际利用的时刻会有字符型和搜索型参数,我将在中级篇的"SQL注入普通步骤"再做解析.
第三节、判断数据库范例及注入办法
差别的数据库的函数、注入办法都是有差别的,所以在注入之前,我们还要判断一下数据库的范例.普通ASP最常搭配的数据库是Access和SQLServer,网上超越99%的网站都是此中之一.
怎么让程序奉告你它利用的什么数据库呢?来看看:
SQLServer有一些系统变量,假如服务器IIS提醒没关闭,并且SQLServer返回错误提醒的话,那可以直接从出错信息获得,办法以下:
http://www.19cn.com/showdetail.asp?id=49 and user>0
这句语句很简单,但却包含了SQLServer特有注入办法的精华,我自己也是在一次无意的测试中发现这种效率极高的猜解办法.让我看来看看它的含义:首先,前面的语句是正常的,重点在and user>0,我们知道,user是SQLServer的一个内置变量,它的值是当前衔接的用户名,范例为nvarchar.拿一个nvarchar的值跟int的数0对比,系统会先试图将nvarchar的值转成int型,当然,转的历程中必定会出错,SQLServer的出错提醒是:将nvarchar值 "abc" 转换数据范例为 int 的列时发生语法错误,呵呵,abc恰是变量user的值,这样,不废吹灰之力就拿到了数据库的用户名.在今后的篇幅里,大家会看到很多用这种办法的语句.
趁便说几句,众所周知,SQLServer的用户sa是个平等Adminstrators权限的角色,拿到了sa权限,几近必定可以拿到主机的Administrator了.上面的办法可以很便利的测试出能否是用sa登录,要注意的是:假如是sa登录,提醒是将"dbo"转换成int的列发生错误,而不是"sa".
假如服务器IIS不答应返回错误提醒,那怎么判断数据库范例呢?我们可以从Access和SQLServer和辨别动手,Access和SQLServer都有自己的系统表,比方存放数据库中全部对象的表,Access是在系统表[msysobjects]中,但在Web环境下读该表会提醒"没有权限",SQLServer是在表[sysobjects]中,在Web环境下可正常读取.
在确承认以注入的情形下,利用下面的语句:
http://www.19cn.com/showdetail.asp?id=49 and (select count(*) from sysobjects)>0
http://www.19cn.com/showdetail.asp?id=49 and (select count(*) from msysobjects)>0
假如数据库是SQLServer,那么第一个网址的页面与原页面http://www.19cn.com/showdetail.asp?id=49是大致相同的;而第二个网址,由于找不到表msysobjects,会提醒出错,就算程序有容错处理,页面也与原页面完好差别.
假如数据库用的是Access,那么情形就有所差别,第一个网址的页面与原页面完好差别;第二个网址,则视乎数据库设置能否答应读该系统表,普通来说是不答应的,所以与原网址也是完好差别.大大都情形下,用第一个网址便可以得知系统所用的数据库范例,第二个网址只作为开启IIS错误提醒时的考证
以上是“SQL注入漏洞全接触--入门篇(二)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论