CGI-IDS

 view release on metacpan or  search on metacpan

t/01-ids.t  view on Meta::CPAN

        31 => 'location.assign(1?name+1:(x))',
        32 => "this[('eva')+new Array + 'l'](/x.x.x/+name+/x.x/)",
        33 => "this[[],('eva')+(/x/,new Array)+'l'](/xxx.xxx.xxx.xxx.xx/+name,new Array)",
        34 => 'alal=(/YWxlcnQ/)(/YWxlcnQ/),
                        alal=alal[0],
                        atyujg=(/atob/)(/atob/),
                        con=atyujg.concat,
                        con1=con()[0],
                        con=con1[atyujg],
                        alal=con(alal),
                        alal=con1[alal],
                        alal(1)',
        35 => 'alal=(1,/YWxlcnQ/),
                        alal=alal(alal),
                        alal=alal[0],
                        atyujg=(1,/atob/),
                        atyujg=atyujg(atyujg),
                        atat=atyujg[0],
                        con=atyujg.concat,
                        con1=con(),
                        con1=con1[0],
                        con=con1[atat],
                        alal=con(alal),
                        alal=con1[alal],
                        alal(1)',
);

my %testXMLPredicateXSSList = (
        0 => "a=<r>loca<v>e</v>tion.has<v>va</v>h.subs<v>l</v>tr(1)</r>
                        {b=0e0[a.v.text()
                        ]}http='';b(b(http+a.text()
                        ))
                        ",
        1 => 'y=<a>alert</a>;content[y](123)',
        2 => "s1=<s>evalalerta(1)a</s>; s2=<s></s>+''; s3=s1+s2; e1=/s1/?s3[0]:s1; e2=/s1/?s3[1]:s1; e3=/s1/?s3[2]:s1; e4=/s1/?s3[3]:s1; e=/s1/?.0[e1+e2+e3+e4]:s1; a1=/s1/?s3[4]:s1; a2=/s1/?s3[5]:s1; a3=/s1/?s3[6]:s1; a4=/s1/?s3[7]:s1; a5=/s1/?s3[8]:...
        3 => "location=<text>javascr{new Array}ipt:aler{new Array}t(1)</text>",
        4 => "µ=<µ ł='le' µ='a' ø='rt'></µ>,top[µ.\@µ+µ.\@ł+µ.\@ø](1)",
);

my %testConditionalCompilationXSSList = (
    1 => "/*\@cc_on\@set\@x=88\@set\@ss=83\@set\@s=83\@*/\@cc_on alert(String.fromCharCode(\@x,\@s,\@ss))",
    2 => "\@cc_on eval(\@cc_on name)",
    3 => "\@if(\@_mc680x0)\@else alert(\@_jscript_version)\@end",
    4 => "\"\"\@cc_on,x=\@cc_on'something'\@cc_on",
);

my %testXSSList = (
        0   => '\'\'"--><script>eval(String.fromCharCode(88,83,83)));%00',
        1   => '"></a style="xss:ex/**/pression(alert(1));"',
        2   => 'top.__proto__._= alert
                   _(1)',
        3   => 'document.__parent__._=alert
                  _(1)',
        4   => 'alert(1)',
        5   => "b=/a/,
                    d=alert
                    d(",
        6  => "1
                    alert(1)",
        7  => "crypto [ [ 'aler' , 't' ] [ 'join' ] ( [] ) ] (1) ",
        8  => '<div/style=\-\mo\z\-b\i'."\n".'d\in\g:\url(//business\i'."\n".'fo.co.uk\/labs\/xbl\/xbl\.xml\#xss)>',
        9  => "_content/alert(1)",
        10  => "RegExp(/a/,alert(1))",
        11  => "x=[/&/,alert,/&/][1],x(1)",
        12  => "[1,alert,1][1](1)",
        13  => "throw alert(1)",
        14  => "delete alert(1)",
        15  => "\$=.7.eval,\$(//
                    name
                    ,1)",
        16  => "\$=.7.eval,\$(\$('\rname'),1)",
        17  => "e=1..eval
                            e(e(\"\u200fname\"),e)",
        18  => "<x///style=-moz-\&#x362inding:url(//businessinfo.co.uk/labs/xbl/xbl.xml#xss)>",
        19  => "a//a'\u000aeval(name)",
        20  => "a//a';eval(name)",
        21  => "(x) setter=0?0.:alert,x=0",
        22  => "y=('na') + new Array +'me'
                    y
                    (x)getter=0?0+0:eval,x=y
                    'foo bar foo bar f'",
        23  => "'foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo'
                    y\$=('na') +new Array+'me'
                    x\$=('ev') +new Array+'al'
                    x\$=0[x\$]
                    x\$(x\$(y\$)+y\$)",
        24  => "<applet/src=http://businessinfo.co.uk/labs/xss.html
                    type=text/html>",
        25  => "onabort=onblur=onchange=onclick=ondblclick=onerror=onfocus=onkeydown=onkeypress=onkeyup=onload=onmousedown=onmousemove=onmouseout=onmouseover=onmouseup=onreset=onresize=onselect=onsubmit=onunload=alert",
        26  => 'onload=1&&alert',
        27  => "document.createStyleSheet('http://businessinfo.co.uk/labs/xss/xss.css')",
        28  => 'document.body.style.cssText=name',
        29  => "for(i=0;;)i",
        30  => "stop.sdfgkldfsgsdfgsdfgdsfg in alert(1)",
        31  => "this .fdgsdfgsdfgdsfgdsfg
                        this .fdgsdfgsdfgdsfgdsfg
                        this .fdgsdfgsdfgdsfgdsfg
                        this .fdgsdfgsdfgdsfgdsfg
                        this .fdgsdfgsdfgdsfgdsfg
                        aaaaaaaaaaaaaaaa :-(alert||foo)(1)||foo",
        32  => "(this)[new Array+('eva')+new Array+ 'l'](/foo.bar/+name+/foo.bar/)",
        33  => '<video/title=.10000/aler&#x74;(1) onload=.1/setTimeout(title)>',
        34  => "const urchinTracker = open",
        35  => "-setTimeout(
                        1E1+
                        ',aler\
                        t ( /Mario dont go, its fun phpids rocks/ ) + 1E100000 ' )",
        36 => '<b/alt="1"onmouseover=InputBox+1 language=vbs>test</b>',
        37 => '$$=\'e\'
                        _=$$+\'val\'
                        $=_
                        x=this[$]
                        y=x(\'nam\' + $$)
                        x(y)
                        \'foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar.foo@bar\'',
        38 => '‹img/src=x""onerror=alert(1)///›',
        39 => 'Image() .
                            ownerDocument .x=1',
        40 => CGI::IDS::urldecode('%FF%F0%80%BCimg%20src=x%20onerror=alert(1)//'),
        41 => "',jQuery(\"body\").html(//);\'a'",
        42 => '\',$(fred).set(\'html\',\'magically changes\')



( run in 2.648 seconds using v1.01-cache-2.11-cpan-0b58ddf2af1 )