中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

讀取型CSRF漏洞的示例分析

發布時間:2021-12-29 18:03:44 來源:億速云 閱讀:182 作者:小新 欄目:網絡安全

這篇文章將為大家詳細講解有關讀取型CSRF漏洞的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

讀取型CSRF

JSON劫持

漏洞案例

這里來看一條請求:

讀取型CSRF漏洞的示例分析

這條請求返回的結果中有手機號(這里我測試的賬號沒綁定手機),如果我們想要以CSRF交互式攻擊的方式獲取這個手機號該怎么辦?

來看看這條請求有callback,而返回結果是不是類似Javascript中的函數?

Javascript原函數定義如下:

function funName(){}

這里是缺少了函數定義的關鍵詞function和花括號的函數主體部分,只有函數名和函數傳參,聰明人已經想到了,這不就相當于是自定義函數被引用了么,而中間那段傳參就相當于是一個數組,所以我們可以先用JS自定義好這個函數,然后再引用這個請求,自然就可以獲取到數據了。

這時候我們可以來構建一下PoC:

<!-- 引用一段如上請求為JS --><script>function jsonp2(data){alert(JSON.stringify(data));}</script><script src="http://gh0st.cn/user/center?callback=jsonp2"></script>

使用正常的賬號(綁定過手機號)來測試下:

讀取型CSRF漏洞的示例分析

案例總結

其實通過這個例子,我們可以知道HTML標簽<script>在一定的情況下是可以跨域讀取的。

對此漏洞的修復有很多:

1.打亂響應主體內容

2.Referer等進行限制

.....等等

Flash跨域劫持

Flash跨域比較經典了,在做web目錄資產整理的時候有時候會發現這樣的文件 crossdomain.xml ,文件內容如果是如下的,那么就存在Flash跨域問題,如下內容的意思是支持所有域:

<?xml version="1.0"?><cross-domain-policy>  <allow-access-from domain="*" /></cross-domain-policy>

為什么會如此?具體流程是這樣的:

gh0st.cn 有一個SWF文件,這個文件是想要獲取 vulkey.cn 的 userinfo 的返回響應主體,SWF首先會看在 vulkey.cn 的服務器目錄下有沒有 crossdomain.xml 文件,如果沒有就會訪問不成功,如果有 crossdomain.xml ,則會看crossdomain.xml 文件的內容里面是否設置了允許 gh0st.cn 域訪問,如果設置允許了,那么 gh0st.cn 的SWF文件就可以成功獲取到內容。所以要使Flash可以跨域傳輸數據,其關鍵就是crossdomain.xml 文件。

當你發現 crossdomain.xml 文件的內容為我如上所示的內容,那么就是存在Flash跨域劫持的。

漏洞案例

在對一個廠商進行測試的時候正好發現了這樣的文件:

讀取型CSRF漏洞的示例分析

在這里我需要做兩件事:

1.找到一個能獲取敏感信息的接口

2.構建PoC

在這里敏感的信息接口以個人中心為例子,PoC使用的是 https://github.com/nccgroup/CrossSiteContentHijacking/raw/master/ContentHijacking/objects/ContentHijacking.swf

讀取型CSRF漏洞的示例分析

案例總結

很簡單的一個東西,但是用處卻很大,其利用方法跟CSRF也是一樣的,只需要修改下PoC就行。

修復方案同樣也很簡單,針對<allow-access-from domain="*" />的domain進行調整即可。

CORS跨域資源讀取

漏洞案例

讀取型CSRF漏洞的示例分析

如上圖中我在請求的時候加上了請求頭 Origin: http://gh0st.cn,而對應的響應包中出現了Access-Control-Allow-Origin: http://gh0st.cn這個響應頭其實就是訪問控制允許,在這里是允許http://gh0st.cn的請求的,所以http://gh0st.cn是可以跨域讀取此網址的內容的~在這里我介紹下Origin

OriginReferrer很相似,就是將當前的請求參數刪除,僅剩下三元組(協議 主機 端口),標準的瀏覽器,會在每次請求中都帶上Origin,至少在跨域操作時肯定攜帶(例如ajax的操作)。

其實要測試是否可以跨域讀取可以參考我如上的方法,當然不僅如此,你可以直接使用通配符()替換我的域名,因為這代表著任意域,如果對應的響應包中出現了`Access-Control-Allow-Origin: `等響應頭,那么恭喜你,這里存在著任意域跨域資源讀取的問題。

怎么利用呢?在這里我使用了github上的開源項目:https://github.com/nccgroup/CrossSiteContentHijacking,readme.md中有具體的說明,這里我就不一一講解了,那么已經確認問題了,那就需要進一步的驗證。

在這里我找到了一處接口,其響應主體內容是獲取用戶的真實姓名、身份證、手機號等內容:

/daren/author/query (要注意的是這個請求在抓取的時候是POST請求方式,但并沒有請求正文,經過測試請求正文為任意內容即可)

響應報文正文內容:

讀取型CSRF漏洞的示例分析

這里CrossSiteContentHijacking項目我搭建在了本地(127.0.0.1) http://127.0.0.1/CrossSiteContentHijacking/ContentHijackingLoader.html

根據項目所說的操作去進行參數的配置,然后點擊 Retrieve Contents 按鈕:

讀取型CSRF漏洞的示例分析

測試如下,測試結果是可以跨域讀取的:

讀取型CSRF漏洞的示例分析

案例總結

這個問題其實就是對Origin的驗證沒有控制好,對其進行加強即可。

關于“讀取型CSRF漏洞的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

冀州市| 瑞金市| 伊宁市| 拉萨市| 屏东市| 安岳县| 尉犁县| 工布江达县| 云龙县| 武隆县| 平阳县| 沧源| 仁怀市| 余姚市| 静海县| 临清市| 长治市| 华容县| 葵青区| 尚志市| 永定县| 赣州市| 黔江区| 玉门市| 平安县| 安岳县| 桑日县| 平果县| 景德镇市| 蓬溪县| 陆河县| 自贡市| 九江县| 鄂伦春自治旗| 永福县| 长汀县| 顺义区| 江孜县| 莱西市| 新竹市| 桃江县|