sql語句單引號與雙引號

2021-10-12 13:56:03 字數 622 閱讀 2311

這些天都在打sqli-labs靶場來練手,發現了乙個問題,如果是字元型注入時,比如是』 』 單引號閉合的,我傳入雙引號進行測試時,發現頁面其實是可以正常顯示的,說明sql語句是正常執行的。接下來舉個例子

$id 為使用者傳入的資料

select username,password from users where id=』$id』;

我嘗試輸入了?id=1" 其實頁面是正常顯示的

sql語句為:select username,password from users where id=『1"』;

這提醒了我在測試注入點是單引號閉合還是雙引號閉合是起到了非常重要的作用。

我們再來驗證一下" 「雙引號裡面包含單引號是否也會正常執行

sql語句為:select username,password from users where id=」 i』 "; 為了可觀我在雙引號裡面加了空格

通過實驗驗證了這一事實,以後測試時要注意這個點

單引號,雙引號,無引號

單引號 所見即所得 雙引號 1 把雙引號的所有內容都輸出出來 2 如果中命令 要反引下 變數 特殊轉義符等,會先把變數 命令 特殊轉義符解析出結果再輸出最終內容。無引號 與雙引號基本相同,連續數字不用加任何引號 建議 指令碼中普通字串盡量雙引號,單純數字可以不用加引號 a 192 a 192 a b...

Golang 單引號 雙引號與反引號

單引號在 golang 表示乙個字元,使用乙個特殊型別 rune 表示字元型。rune 為 int32 的別名,它完全等價於 int32,習慣上用它來區別字元值和整數值。rune 表示字元的 unicode 碼值。package main import fmt func main 編譯執行輸出 c ...

單引號和雙引號

char p1 1 char p2 1 1 的ascii碼值為49 0和49位址處為作業系統使用,故訪問這些位址如printf s,s,s p1,p2,p3 會產生段錯誤。printf n n的ascii碼值為10,同理,段錯誤。a 表示字元常量,在記憶體中佔1個位元組,a 1表示 a 的ascii...