1. 程式人生 > 實用技巧 >一次失敗的漏洞組合利用

一次失敗的漏洞組合利用

一次失敗的漏洞組合利用




​翻了翻已經積滿灰塵的txt文件,發現一個權重還算比較高的站點,舔了舔嘴脣,已經餓了三天了,再不來一點洞真就餓死了。
在這裡插入圖片描述

首先發現url跳轉漏洞一枚:

http://bugdomain.com/go?url=http://baidu.com
其他不重要的漏洞一大堆。

沒有特殊進展時,突然想起來之前看到過基於cookie的xss,這次就隨手一試:

先把所有的cookie值改為特殊標識:

在這裡插入圖片描述

重新整理網頁,F12查詢特殊標識:

我在這裡找到了它。
在這裡插入圖片描述

利用語句那就很簡單了:

在這裡插入圖片描述

重新整理頁面:(不關閉瀏覽器只關閉一個網頁,重新開啟該網頁仍然會彈,僅限該子域。如果關閉瀏覽器重新開啟就沒了)
在這裡插入圖片描述

可是吧,這個要利用成功的話比反射型xss還雞肋,真就自己打自己。但是成功後要比反射型xss持久一點。

在這裡插入圖片描述

這個漏洞其實是可以擴大危害的,我們需要找到和它結合的好基友,這裡有篇翻譯文章很nice,反覆看了很多遍:

https://www.freebuf.com/fevents/208769.html
在這裡插入圖片描述


1.根據文章,首先我去尋找CRLF漏洞:

我想到了之前發現的重定向,抓包看了看,它不是通過location的方式跳轉的,這樣子的就沒辦法CRLF了 = =
在這裡插入圖片描述

我去掃描目錄引數,企圖發現CRLF,去試試302跳轉:
在這裡插入圖片描述

但是,直接404了,難受
在這裡插入圖片描述

正常應該是這樣的:
在這裡插入圖片描述

還有一個後臺登入的地方也會有跳轉,但是沒有賬號密碼,難受。

2.那就試試第二個點,子域上的xss漏洞,進行雙xss配合:
我又想到了之前的那個重定向,既然它重定向的連結輸出在了原始碼裡,會不會有反射型xss?


這裡首先發現,我們的payload被瀏覽器進行url編碼了,然後傳入之後直接回顯在頁面上,

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

這樣可不行,這裡不會自動url解碼。而且很尷尬,不進行閉合的話,我就不能構造出自動url解碼的語句,但是不解碼的話,我又不能閉合= =

我試試在burp裡直接輸入payload是可以成功的:(這裡需要輸入http://進行繞過,不然會報錯)

在這裡插入圖片描述

那麼,我先來試試,在burp裡能不能直接設定document.cookie:
在這裡插入圖片描述

可惡啊,有addslashes過濾,單引號也被轉義了:

在這裡插入圖片描述

我覺得沒有必要繼續尋找反射型xss,因為這個站點是一個CMS。肯定統一過濾了。

3.我找不到可以手動設定cookie的servlet測試頁面。。。。

4.中間人攻擊,雖然是超級典型的自己x自己,需要更改受害者的hosts檔案,這個ip填攻擊者伺服器的ip,就可以遠端攻擊了

先改hosts:127.0.0.1 no-exists-domain.bugdomain.com
在這裡插入圖片描述

然後開啟web服務,在主目錄下寫一個index.php檔案:

在這裡插入圖片描述

然後我們訪問no-exists-domain.bugdomain.com,再回到存在漏洞的站點,發現新增了一條cookie,但是沒有更改之前的cookie:(火狐和谷歌都是這樣)
在這裡插入圖片描述

我先把原來的那條刪除,然後保留我自己新增的,重新整理頁面,發現沒用,它還是會自動新增上,而且不會取我新增的cookie:
在這裡插入圖片描述

這就很難受了啊。雞肋,不明白為啥國外的這個可以拿$350。可能我太菜了,還沒有理解到精髓。
https://hackerone.com/reports/312548

在這裡插入圖片描述