设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 办公软件 >> Access >> SQL注入漏洞初级应用之Access篇
精品推荐
Access点击TOP10
·升级至 Access 2000 时出现不可识别的数据库格式错误消息
·SQL注入漏洞初级应用之Access篇
·揭开Microsoft Access秘密技巧以及陷阱
·防止Access数据库被下载的9种方法
·纯编码实现Access数据库的建立或压缩
·如何防治Access宏病毒的通用技巧
·Microsoft Access Snapshot Viewer远程缓冲区溢出漏洞
·在access中增加农历支持模块.
·探索Access数据库最佳NTFS权限设置
·教你如何防治Access宏病毒的通用技巧
办公软件点击TOP10
·Excel常用技巧25条
·Excel表格分栏打印输出的两种巧妙方法
·让Word2003代替金山词霸帮你翻译英文
·轻松破解Word与Excel的文档密码
·教你微软Office Word文挡损坏后的修复
·Word表格行、列、单元格的添加与删除
·Excel表格中关于序号处理的五则技巧
·OutLook Express邮件数据备份和恢复
·Word公式编辑器快速上手指南
·Excel中双座标排列图的制作实例
精选专题

SQL注入漏洞初级应用之Access篇

作者: 来源: 时间:2006-4-26 20:52:48

SQL注入漏洞初级应用之Access篇(2)
  这里很明显当加 and 1=1 的时候返回完全正常的页面,加 and 1=2 显示:暂时还没有文章!

  到这里基本上可以断定他存在SQL注入,至于能不能注出账号密码来,还需要更进一步的注入测试,这里只能得到SQL注入点: http://www.xxx.com/show.asp?id=474

    4.判断表是否存在

  国内的一般程序员在设计数据库的时候都会用一些特定的做为表名,字段名什么的。比如说后台管理员一般放在表admin里面,而注册的用户放在表users里,当然,只是一般,依照各程序的不同而不同。

  这个站是我同学自己写的,我还是先判断管理员表admin是否存在,在后面加上语句:and exists (select * from admin)变成http://www.xxx.com/show.asp?id=474 and exists (select * from admin)提交访问后返回的页面如图3:

  

SQL



  这就说明我猜的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:

  

SQL



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

  

SQL



  最后猜出这个继续猜出其它的字段,用户名字段最后为username,密码字段为userpwd,用到的语句分别为:and exists (select username from users)和and exists (select userpwd from users),这里就不抓图了。 
    6.再进一步判断账号和密码的长度

  这里我说一下常用的方法,判断的时候大于小于一起用嘛,学过数据结构的人都知道有二分法,我这里也引用一下,比如说你判断 >4 而又判断<12 那我接下来就取中间的看是大于8还是小于8,如果是大于8则说明在8到12之间,如果是小于8说明在4到8之间,再接着用二分法判断下去。。。。。。当然由于账号密码一般人不会太长,所以在这里二分法的优势体现的不够明显,不过到下面猜账号密码字符的时候就能明显感受到了。

  首先判断账号username的字符长度:and exists (select userid from users where len(username)<10 and userid=11),返回正常说明长度小于10,and exists (select userid from users where len(username)>5 and userid=11),返回不正常说明长度小于5,最后猜到的是

共4页 9 7 [1] [2] [3] [48 :>

SQL注入漏洞初级应用之Access篇 相关文章:
SQL注入漏洞初级应用之Access篇 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com