首页 > 其他分享 >xss dompurify绕过 chrome

xss dompurify绕过 chrome

时间:2023-10-21 16:58:45浏览次数:24  
标签:xss 浏览器 dompurify 标签 元素 chrome HTML 解析

主要利用chrome的<svg>和<p>标签
一般来说 浏览器进行解析的时候,解析规则趋于xml解析若不是html解析

主要区别在于HTML中的某些标签在从文本反序列化时不能有子标签。例如<style>。如果查看HTML规范,我们会发现它的内容模型是Text。即使您尝试将元素放在<style>中,它也会被视为文本:

对于SVG来说,事情并非如此。让我们继续用上面的例子,但<style><svg>的子标签:

 <style>有了子元素

原理

1.<svg><p> 被浏览器重写成 <svg><p></svg>

2.添加到innerHTML中 <svg></svg><p></p> 如果<svg><p>中还有子标签style的话,可能会造成标签形成最初的HTML解析假定某些元素在<svg>内,而在随后的解析中,这些元素在<svg>之外,从而允许添加任意HTML标签。

例如

<svg><p><style><a id="</style><img src=1 one rror=alert(1)>">

被浏览器解析后

<svg><p></p><style><a id="</style><img src=1 one rror=alert(1)>"></a></style></svg>

放入innerHTML后

<svg></svg><p></p><style><a id="</style><img src="" one rror="alert(1)">"&gt;"

 现在<svg>元素立即结束,后面的一切代码都是普通的HTML。这意味着<style>——</style>,包含onerror属性的<img>标签被写入DOM树。

summerized by https://xz.aliyun.com/t/6413

标签:xss,浏览器,dompurify,标签,元素,chrome,HTML,解析
From: https://www.cnblogs.com/lisenMiller/p/17779186.html

相关文章

  • web基础漏洞-xss手工测试与自动测试
    手工测试,一般是指结合浏览器和burp的重放进行。1、反射型xss手工测试1.1测试是否返回如果测试参数在响应的体部中并未返回,那么基本可以判断不存在反射型xss。问题1:测试参数在响应中固有如果测试参数除了包含返回之外,还存在固有。这样的话,直接根据测试参数是否在响应体部中......
  • web基础漏洞-xss
    1、介绍xss,crosssitescript跨站脚本攻击,是指攻击者构造payload,使其在用户的浏览器上解析为脚本执行,从而造成危害。脚本一般是指js,但广义上vbscript和actionscript(flash)等其它脚本可以造成xss。xss一般发生在浏览器,但广义上任何支持脚本解析的应用都有可能造成xss。危害是......
  • Chrome浏览器复制Cookie的方法
    打开需要复制的页面,按F12打开开发者工具,如图操作  ......
  • 完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
    今天给大家分享一段设为首页、收藏本站及保存到桌面的js代码,非常实用。scripttype="text/javascript"//设为首页functionSetHome(obj,url){try{obj.style.behavior=’url(#default#homepage)’;obj.setHomePage(url);}catch(e){if(window.netscape){try{netscape.security.Priv......
  • 360等Chrome浏览器查看不了网络下的请求头信息【解决办法】
    在使用360等浏览器的时候,点击网络有时候会查看不到网络信息,例如这样:解决方法点击【Filter】按钮,就是哪个小漏斗的按钮即可:打完收工! ......
  • 【前端开发】新版Chrome浏览器接口mock调试技巧,超实用
    给大家分享一个 Chrome117 更新中最实用的一个功能:在Network面板中发送mock请求。修改返回响应数据想要修改接口返回的数据,设置成特定的数据,首先打开 网络(Network) 面板,找到你需要Mock的接口,右键然后选择替换内容(Overridecontent): 这时候浏览器会提示:选择要用来......
  • xss跨站脚本攻击
    前言:终于继续来学习xss了1反射型xssxss是跨站脚本攻击的缩写,本来应该写成css,但和层叠样式表(css)重合了,就改叫xss了1.1无过滤反射型xss就和名字一样,服务器收到你传递的数据后就直接传递给了前端页面上,然后在前端页面进行显示。这时候我们直接传入js代码,然后通过js来进行获取co......
  • 关于 Chrome 开发者工具 Network 面板里观察到的 net ERR_CERT_AUTHORITY_INVALID 错
    我在Chrome访问一个网站时,在Chrome开发者工具Network面板里观察到的netERR_CERT_AUTHORITY_INVALID错误:net::ERR_CERT_AUTHORITY_INVALID这种错误通常会在你试图访问的网站的SSL证书存在问题时出现。SSL(SecureSocketLayer)证书用于建立用户和网站服务器之间的安......
  • Chrome 118 版本中的新功能
    GoogleChrome的最新版本V118正式版2023/10/10发布,以下是新版本中的相关新功能供参考。本文翻译自NewinChrome118,作者:AdrianaJara,略有删改。以下是主要内容:使用@scopecss规则在组件中指定特定样式。有两个新的媒体功能:scripting和prefers-reduced-transparenc......
  • 原始ajax、XSS注入ajax
    一、原始的ajax<%@pagecontentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><title>ajax</title></head><body><!--http://127.0.0.1:9999/aja......