日期:2011-05-02 15:21:00 来源:本站整理
SQL注入漏洞全接触--进阶篇(一)[MSSQL防范]
本文“SQL注入漏洞全接触--进阶篇(一)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
接下来,我们就持续学习若何从数据库中获得想要得到的内容,首先,我们先看看SQL注入的普通步骤:
第一节、SQL注入的普通步骤
首先,判断环境,探求注入点,判断数据库范例,这在入门篇已经讲过了.
其次,按照注入参数范例,在脑海中重构SQL语句的原貌,按参数范例主要分为下面三种:
(A) ID=49 这类注入的参数是数字型,SQL语句原貌大致以下:
Select * from 表名 where 字段=49
注入的参数为ID=49 And [查询条件],便是生成语句:
Select * from 表名 where 字段=49 And [查询条件]
(B) Class=持续剧 这类注入的参数是字符型,SQL语句原貌大致概以下:
Select * from 表名 where 字段=’持续剧’
注入的参数为Class=持续剧’ and [查询条件] and ‘’=’ ,便是生成语句:
Select * from 表名 where 字段=’持续剧’ and [查询条件] and ‘’=’’
(C) 搜索时没过滤参数的,如keyword=关键字,SQL语句原貌大致以下:
Select * from 表名 where 字段like ’%关键字%’
注入的参数为keyword=’ and [查询条件] and ‘%25’=’, 便是生成语句:
Select * from 表名 where字段like ’%’ and [查询条件] and ‘%’=’%’
接着,将查询条件替换成SQL语句,猜解表名,比方:
ID=49 And (Select Count(*) from Admin)>=0
假如页面就与ID=49的相同,阐明附加条件成立,即表Admin存在,反之,即不存在(请紧记这种办法).如此循环,直至猜到表名为止.
表名猜出来后,将Count(*)替换成Count(字段名),用一样的原理猜解字段名.
有人会说:这里有一些无意的成份,假如表名起得很复杂没规律的,那根本就没得玩下去了.说得很对,这世界根本就不存在100%成功的黑客技术,苍蝇不叮无缝的蛋,无论多技术多高深的黑客,都是因为别人的程序写得不严密或利用者保密意识不够,才有得下手.
有点跑题了,话说回来,关于SQLServer的库,还是有办法让程序奉告我们表名及字段名的,我们在高级篇中会做介绍.
最后,在表名和列名猜解成功后,再利用SQL语句,得出字段的值,下面介绍一种最常用的办法-Ascii逐字解码法,固然这种办法速度很慢,但必定是可行的办法
以上是“SQL注入漏洞全接触--进阶篇(一)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论