• xsschallenge通关攻略详解


    xsschallenge通过攻略


    简述
    xsschallenge挑战攻略
    在这里插入图片描述
    ps:
    终极测试代码

    <ScRiPt>IPT>OonN'"\/(hrHRefEF)</sCrScRiPt>IPT>
    
    • 1

    查看源代码
    CTRL+U

    第一关

    进入第一关是一个这样的界面没有输入框但是在url处存在参数传递
    在这里插入图片描述
    将参数修改为测试代码
    在这里插入图片描述
    CTRL+U查看源代码
    在这里插入图片描述
    可以看到未做过滤直接在url输入框中xss注入
    在这里插入图片描述

    第二关

    来到第二关可以明显看见是有输入框的我们使用测试代码提交
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    可以看到没做过滤只是我们输入的内容都被放到了value里
    那么就将这个value用双引号进行闭合,在用大于号闭合input标签,最后在加上script标签进行xss注入
    1">>

    在这里插入图片描述
    在这里插入图片描述

    第三关

    来到第三关还是一个输入框
    在这里插入图片描述
    用测试代码测试
    在这里插入图片描述
    查看源码
    在这里插入图片描述
    我们看到小于号被过滤掉了可以看到value后面是单引号我们进行闭合添加一个html事件进行xss注入1' onkeydown='alert(/xss/)
    在这里插入图片描述
    输入任意字符即可过关
    在这里插入图片描述

    第四关

    来到第四关可以看到还是给了一个输入框
    在这里插入图片描述
    使用测试代码
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    我们可以看到将小于号过滤为空格了并且闭合改为双引号那么就用双引号闭合并构造html事件1" onkeydown="alert(/xss/)
    在这里插入图片描述

    第五关

    我们进入第五关可以看到还是输入框
    在这里插入图片描述
    用测试代码测试
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    可以看到大小写被过滤关键字被过滤但是标签符没被过滤我们用伪协议进行绕过1">1 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    第六关

    来到第六关我们看到还是输入框
    在这里插入图片描述
    用测试代码测试
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    我们可以看到对on进行了过滤scrpt没做大小写用script进行xss注入1">
    在这里插入图片描述
    在这里插入图片描述

    第七关

    来到第七关还是输入框
    在这里插入图片描述

    用测试代码进行测试
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    我们可以看到script被过滤为空但双写的on没被过滤进行html事件构造1" oONnclick="alert(/xss/)
    在这里插入图片描述
    在这里插入图片描述

    第八关

    来到了第八关我们看到了是要添加链接
    在这里插入图片描述
    我们用测试代码进行测试
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    我们看到代码都被html实体化了在a标签里代码都被过滤了尝试进行伪协议注入并把script进行一个ASCⅡ转码``

    在这里插入图片描述
    在这里插入图片描述

    第九关

    来到第九关看到还是让添加链接
    在这里插入图片描述
    用测试代码测试
    在这里插入图片描述
    显示输入的链接有问题使用一个网站链接进行测试
    在这里插入图片描述
    我们看到有http就可以那么我们猜想包含http就可以继续用伪协议javascript:alert('xss/*http*/') 将http注释掉

    在这里插入图片描述
    在这里插入图片描述

    第十关

    我们来到第十关看到没有输入框
    在这里插入图片描述
    我们就在keyword里传参进行测试
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    发现输入的内容被转为html实体编码,不过可以看到下面是由输入框但是被隐藏了,我们在F12里的开发者模式将hidden属性改为text
    在这里插入图片描述
    可以看到出来三个输入框我们用代码测试
    在这里插入图片描述
    我们可以看到只有最后一个接收到了内容我们看到只过滤了小于号那我们构造html事件进行注入1" onclick="alert(/xss/)输入之后再次修改一下类型就可以了
    在这里插入图片描述
    在这里插入图片描述

    第十一关

    来到第十一关依旧还是没有输入框
    在这里插入图片描述
    查看一下源码
    在这里插入图片描述
    可以看到多了一行ref里面的值是上一关跳转过来时的地址,事出反常必有妖,我们bp进行抓一下包
    在这里插入图片描述
    可以看到这两处居然一下我们在这里进行代码测试看看那边有什么反应
    在这里插入图片描述
    可以看到大小于号都被过滤,我们构造html事件1" onclick="alert(/xss/)
    在这里插入图片描述
    改为text
    在这里插入图片描述

    第十二关

    来到第十二关
    在这里插入图片描述
    查看源代码
    在这里插入图片描述
    这个很熟悉抓一下包是user-agent
    在这里插入图片描述
    用代码测试
    在这里插入图片描述
    看到还是大小于号被过滤构造html事件进行注入1" onclick="alert(/xss/)
    在这里插入图片描述
    改为text
    在这里插入图片描述

    第十三关

    来到第十三关
    在这里插入图片描述
    抓包

    在这里插入图片描述
    可以看到cookie里的信息和这个一样用代码进行测试
    在这里插入图片描述
    可以看到只过滤了左右尖括号构造html事件1" onclick="alert(/xss/)
    在这里插入图片描述
    修改输入框
    在这里插入图片描述

  • 相关阅读:
    ShardingSphere
    [HNOI2016] 网络
    【秋招笔经】大厂笔试题1
    零代码编程:用ChatGPT批量采集bookroo网页上的英文书目列表
    SkipList(跳表)
    SAP UI5 架设在 http-proxy 库上的单步调试
    N以内双素数 马蹄集
    重构连接,分销商如何重回生态圈核心
    小学Python编程 ——迷宫
    idea springboot 自定义注释无效
  • 原文地址:https://blog.csdn.net/weixin_70137901/article/details/134342388