 |
|
 |
| 您现在的位置: 先创网 >> 网络应用 >> 网络安全 >> 文章正文 |
|
|
| SQL注入漏洞初级应用之Access篇 |
| eNet |
| 2006-4-24 15:34:00文/Lovexysky |
|
|
|
|
|
4.判断表是否存在
国内的一般程序员在设计数据库的时候都会用一些特定的做为表名,字段名什么的。比如说后台管理员一般放在表admin里面,而注册的用户放在表users里,当然,只是一般,依照各程序的不同而不同。
这个站是我同学自己写的,我还是先判断管理员表admin是否存在,在后面加上语句:and exists (select * from admin)变成http://www.xxx.com/show.asp?id=474 and exists (select * from admin)提交访问后返回的页面如图3:

这就说明我猜的admin表名不存在,继续猜另外的名字,这里可以参考国内常见的程序的表名,比如:admin user vote manage users 会员 用户 管理员 admin_admin userinfo bbs news system等,这个站我最后猜到的是:users,语句:and exists (select * from users)。
5.进一步判断表里的字段是否存在
判断字段id 是否存在,这个一般都有,自动编号。如果存在了顺便猜一下管理员的id值。
判断存在语句:and exists(select id from users)
判断编号语句:and exists(select id from users where id=1)
一般管理员账号密码放在第一位,也就是id=1,如果不是就猜下去,猜id=2 猜id=3等啦。
由于这个站是自己写的代码,所以会有点不同,当判断是否不过你可以猜到他的对应的可能是userid,因为他表名取做user呀,把上面的id改为userid就返回了正常的页面,如图4:

至于这个userid值为多少,同样猜,and exists(select userid where userid=1)改变1这个数字,一直猜到页面显示正常为止。这里我猜到的是userid=11,如图5:

最后猜出这个继续猜出其它的字段,用户名字段最后为username,密码字段为userpwd,用到的语句分别为:and exists (select username from users)和and exists (select userpwd from users),这里就不抓图了。
上一页 [1] [2] [3] [4] [5] [6] 下一页 |
|
|
|
|
|
|
 |
|
 |
|
|
|