sql注入總結

2021-10-09 17:42:44 字數 714 閱讀 1360

資料庫支援,並採用gbk格式進行編碼

在獲取url資料時,使用addslashes或是其他方式對單引號'進行了轉義,使其變成了\',php的get、post等方法預設都會進行此操作

上面的兩個條件缺一不可,gbk編碼不太好確定,但是第二個比較好確認,例如輸入的url為?id=1',返回了?id=1\'

當遇到上述的兩個反斜槓時,可以有以下兩種思路:

gbk編碼會把連續的兩個字元視作是乙個漢字字元,當且僅當第乙個字元的ascii碼大於128,常用的第乙個字元是%df,不過像%a1什麼的都可以

也就是說,當遇到如下的url時:

?id=1%a1%27%20or%201=1 # ?id=1%a1' or 1=1
在伺服器進行了如下兩個步驟:

%27,即單引號之前新增乙個反斜槓\%a1\兩個字元被gbk編碼識別成了乙個漢字字元,\對於單引號'的轉義功能失效,變成where id = '1﹏' or 1=1

然後就能逃過對單引號的侷限,為所欲為啦

SQL注入總結

在大部分語言中都一樣是注釋。這個之中的語句是不被執行的。但mysql中 為了保持相容,比如從mysqldump 匯出的sql語句能被其它資料庫直接使用,它把一些特有的僅在mysql上的語句放在 中,這樣這些語句如果在其他資料庫中是不會被執行,但在mysql中它會執行。僅當mysql的版本等於或高於指...

sql注入總結

第一天 url 統一資源定位符 協議 主機號 目錄 注釋符 20 代表空格 order by 15 閉合條件為 猜測列數 union all select 1,2,3 猜測顯示位 select schema name from information schema.schemata 查庫名 sele...

Sql注入總結

1 利用閉合變數報錯測試注入點,id 1 這樣說明存在單引號閉合注入 2 是否存在注入點,用and語句測試 id 1 and 1 2 id 1 and 1 1 3 猜測字段 id 1 order by 3 23 4 找到頁面中資料輸入點 id 1 union select 1,2,3 23 5 查資...