zoukankan      html  css  js  c++  java
  • XSS Challenge(1)

    XSS Challenges

    http://xss-quiz.int21h.jp/

     

    Stage #1

     

    注入alert(document.domain),先试一试输入后会返回什么;

    返回在标签中,直接尝试输入payload;

     

    Stage #2

     

    测试一下返回;

     

    可以发现,test返回在value属性里,注意闭合value属性的双引号即可;

     

     

    Stage #3

     

    测试一下返回情况;

     

    通过观察源码我们可以发现一共POST了两个参数,p1和p2,通过测试发现p1被过滤了,于是用burp修改p2的值;

     

    Stage #4

     

    先测试一下返回;

    发现有个隐藏的参数p3,尝试注入payload;

     

    发现p3的值返回在value属性中,重新POST p3的参数,注意闭合双引号即可;

     

    Stage #5

     

     

    查看源码发现对输入的长度做了限制;

    直接用burp传递参数即可;

    Stage #6

     

    先测试一下返回情况;

     

    发现返回在value属性中,注意闭合;

    发现未成功,查看源码,发现<、>被编码了,于是我们就无法闭合标签了,那么input标签里是否有什么可以利用的属性呢?

     

    这些都是form中的属性,我们这里选onselect尝试注入;

    注入成功,当我们选中表单的时候,就会触发payload;

     

    Stage #7

     

    测试返回;

     

    发现返回在value属性中,尝试注入;

     

    发现引号被过滤了,但是本身的value属性不带引号,那么我们不用引号即可;

     

     

    Stage #8

     

    测试一下返回;

     

    发现返回了一个<a href></a>的标签,直接尝试注入payload;

     

    点击链接;

     

    Stage #9

     

    测试返回;

     

    可以注意到有两个参数,其中一个是p1,返回值在value里,经过测试引号、<、>等均被过滤,另一个参数charset,值为euc-jp,可以看出是一种日本的编码,这道题应该和编码相关;

    自己想了很久没有头绪,去看看本题提示;

     

    原来是要用UTF-7编码;

     

    Stage #10

     

    Hint:提示的意思应该是正则把domain过滤了;

    那可以尝试双写绕过,先测试返回在何处;

     

    返回在value里,注意闭合双引号;

     

     

    Stage #11

     

    Hint:过滤了script,on开头的和style;

    经测试结果返回在value属性中;

     

    由于过滤规则是将带on的词变成onxxx,所以双写没法绕过;

    在script当中加tab绕过;

     

    Stage #12

     

    Hint:x00、x20、<、>、”、’等均被过滤;

    因为返回值在value中,所以必须要先闭合引号才有用,然而现在双引号和单引号均被过滤,经过我花了很长时间的搜索,发现`在IE中可以充当引号的作用!

    (未完待续~)

  • 相关阅读:
    JMeter工具基础知识篇-使用命令行生成html报告
    解决jmeter请求不成功或者报403错误
    jmeter之JDBC Request各种数据库配置
    Jmeter模拟不同带宽
    SQL语句大全
    Jmeter 吞吐量控制器的使用
    如何找出系统能承受的最大在线用户数
    Jmeter之函数的应用
    jmeter如何设置IP欺骗
    华为云分布式缓存服务DCS与开源服务差异对比
  • 原文地址:https://www.cnblogs.com/Dio-Hch/p/12103340.html
Copyright © 2011-2022 走看看