題目如下:

image.png
提示特殊的注入,頭部注入,猜測和第一題應(yīng)該有點關(guān)聯(lián),應(yīng)該是SQL注入問題,點進去之后只有商品信息,別的什么都沒有,f12看看,也沒有什么信息:

image.png
竟然說了是注入,觀察,也沒有存在gid=1這種信息(存在的話可以試著使用單引號“ ' ”進行注入,看看有沒有提示數(shù)據(jù)庫語法錯誤)。 直接用sqlmap跑一下,也沒有數(shù)據(jù)庫名稱。
百度,參考了一下:
https://www.cnblogs.com/PegasusLife/p/10886420.html
根據(jù)提示頭注入有三個注入點:
X-Forwarded-For:簡稱XFF頭,代表客戶端,就是HTTP的請求端真是的IP(就是本機的IP),只有通過了HTTP代理或者負載均衡服務(wù)器時才會添加該項。標準格式:X-Forward-For:client1(客戶端ip),proxy1(代理或負載均衡服務(wù)器ip),proxyn(經(jīng)過的代理或均衡服務(wù)器的ip,因為可能會經(jīng)過很多個)
User-Agent:中文名是用戶代理,是HTTP協(xié)議的一部分,屬于頭域組成部分。是一個特殊的字符串頭,可以向訪問網(wǎng)站提供所使用的的瀏覽器類型及版本,操作系統(tǒng)及版本,瀏覽器內(nèi)核等信息??梢岳眠@些信息進行偽裝。
Referer:是header的一部分信息,當瀏覽器向Web服務(wù)器發(fā)送請求的時候,一般會帶上這個信息,告訴服務(wù)器自己從哪里來,服務(wù)器可以通過這個信息進行一些處理。這個信息可以偽造,所以可以用于欺騙。
好,分別進行測試:
使用brupsuite抓取該頁面的包:

image.png
將頁面的信息發(fā)送到Repeater,之后對User-Agent進行測試:
將User-Agent的值修改為1',發(fā)送:

image.png
頁面并沒有發(fā)生變化,應(yīng)該不是這個注入,測試Referer:

image.png
也是和原頁面一樣,證明不是這個注入,那么繼續(xù)試試XFF:

image.png
出現(xiàn)了SQL報錯,證明存在XFF可注入點,之后就是嘗試SQL語句了....嘗試查表:
union select 1,2,user(),database()(查用戶名和表名)

image.png
爆出了數(shù)據(jù)庫名:pentesterlab
參考了下獲取表的語句:
https://blog.csdn.net/weixin_33779515/article/details/87725501
按照上述的一些語句構(gòu)造查找不出來表名,也嘗試過別的語句,沒辦法,嘗試直接獲取信息:
union select 1,2,(等)flag from flag,之后表名flag就 出來了,上面那個連接也可以作為SQL構(gòu)造的一個參考。
在嘗試到3的時候,出來了:

image.png
通過本題也是學習到了使用brupsuite修改信息發(fā)送測試,再判斷可否注入,還有一些頭注入的知識。