基於Pikachu測試平臺的http header注入

http header注入

有些時候,後臺開發人員爲了驗證客戶端頭信息(比如常用的cookie驗證)或者通過http header頭信息獲取客戶端的一些信息,比如username、accept字段等等
會對客戶端的http header信息進行獲取並使用SQL進行處理,如果此時沒有足夠的安全考慮則可能會導致基於http header的SQL Inject漏洞

我們可以先在http header注入那一頁點擊提示,輸入他給的用戶密碼看一下,發現,這個頁有記錄功能,記錄了user agent,http accept,端口。一看這個功能,我們可以想到,後端應該是對http頭裏面的數據進行了獲取,那麼它是不是也進行了相關的數據庫的操作呢。

我們可以測試一下

打開burpsuit,看下剛纔的抓包,發送到repeater後,我們根據user agent字段做個測試。我們把這個字段的值刪掉,自己構造,可以先提交一個單引號,點send,發現返回了一個數據庫的語法錯誤,這樣已經可以看出來這個地方是存在sql注入漏洞的,因爲把我們的單引號放到了sql裏面執行報出來語法錯誤,這時候我們就可以構造payload進行測試。

還有一個點是什麼呢,就是這個包裏面的這個cookie,cookie這個信息是用來跟蹤這個會話的,後臺會獲取前端的cookie信息,雖然說cookie其實就是後端發下來的,但是當你在頁面之間進行跳轉的時候,客戶端其實會獲取前端的cookie,進行相關的驗證,如果說獲取了cookie之後同樣去數據庫裏面進行了拼接,進行了相關操作,也有可能產生SQL注入漏洞。

我們把cookie進行相關測試

我們在用戶名後面增加一個單引號,看會不會報錯,報錯了,說明存在SQL注入漏洞,在這裏構造個基於函數的payload,看一下返回。
所以說,我們在測試SQL注入的時候,除了一些常見的輸入點意外,http的頭部也常常會產生一些SQL注入漏洞。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章