Markdown 和 XSS

2023-11-23

好的,所以我一直在 SO 和其他地方阅读有关 markdown 的内容,用户输入和数据库之间的步骤通常给出为

  1. 将 markdown 转换为 html
  2. 清理 html(带白名单)
  3. 插入数据库

但对我来说,执行以下操作更有意义:

  1. 清理降价(删除所有标签 - 没有例外)
  2. 转换为 html
  3. 插入数据库

我错过了什么吗?在我看来,这几乎可以防止 xss


请参阅此链接:

http://michelf.com/weblog/2010/markdown-and-xss/

> hello <a name="n"
> href="javascript:alert('xss')">*you*</a>

Becomes

<blockquote>
 <p>hello <a name="n"
 href="javascript:alert('xss')"><em>you</em></a></p>
</blockquote>

∴​你必须消毒after转换为 HTML。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Markdown 和 XSS 的相关文章

  • 如何让 markdown.js 在 Delphi 的 TWebBrowser 中将 Markdown 文档显示为 HTML?

    如何让 markdown js 在 Delphi 的 TWebBrowser 中将 Markdown 文档显示为 HTML 给定包含 Markdown 的字符串的内容 如何让 markdown js 将该 markdown 转换为 HTML
  • 在 Safari/WebView 中禁用 XSS 过滤器

    我正在开发一个用于 XSS 检查的工具 使用 Webkit WebView 和 Macruby 这非常有效 只是 Safari 的 XSS 过滤器偶尔会捕获我的 URL 并拒绝执行恶意脚本 有没有办法禁用此功能 最好以编程方式禁用 经过一番
  • 如何修复java中反映的XSS

    我收到了强化报告 其中显示了来自下面第二行的 XSS 反射缺陷 String name request getParameter name response getWriter write 姓名 姓名 给出的建议 向 Web 客户端显示的所
  • 如何在 tkinter 中显示 markdown 格式文本?

    In python 3 x with tkinterGUI 我开发了一个带有常规简单窗口的程序 我想展示一个markdown格式字符串保存在名为的字符串中markdownText在程序窗口上 markdownText italic or b
  • 如何在 Bitbucket wiki 上的 Markdown 中转义“@”

    谁知道如何逃脱 BitBucket wiki 上 markdown 中的字符 就我而言 后面紧跟着恰好是某人的用户名的单词 即 blahblah 到目前为止我尝试过的 64 但这些都不起作用 屏蔽被忽略 当我使用字符代码时 它只是按原样输出
  • 《美人鱼》中的空间

    我有一个 md文件已保存 我正在使用 Atom 和 Mermaid Preview 包查看它 我将关闭他们的 GitHub 页面上的示例 graph TD A gt B A gt C B gt D C gt D 这渲染得很好 但是如何在文本
  • PHP 替换,但替代替换字符串

    好的 这就是我想做的 我正在尝试使用 PHP 来开发本质上是tinyMarkdown 实现的子集 不值得使用完整的 Markdown 类 我本质上需要执行 str replace 但每次出现针时都会交替替换替换字符串 以便处理开始和结束 H
  • PHP:使用 _GET 数据需要进行任何类型的清理吗?

    也就是说 仅用于我的 PHP 代码中的常规使用 我不会将其传递给我的查询或其他任何东西 如果将它们传递给 SQL 查询 则会发生 SQL 注入 如果您使用它们来形成文件名 则会出现任意文件读取漏洞 如果将它们作为 HTML 页面的一部分按原
  • 谁能解释一下这些 XSS 测试字符串吗?

    最近我发现了这个关于 XSS 和 Web 应用程序安全的教程 gt https www owasp org index php XSS Filter Evasion Cheat Sheet XSS Locator https www owa
  • 关于:链接(Markdown 页面)上的blank#blocked

    在 Markdown 页面中 Microsoft TFS Wiki 我尝试创建 A 标签file link a href file txt a 点击 Chrome 后 我得到了 about blank blocked 这不是 Chrome
  • 清理 AntiXSS v3 输出中的 html 编码文本(#decimal notation)

    我想在 XSS 安全的博客引擎中发表评论 尝试了很多不同的方法 但发现非常困难 当我显示评论时 我首先使用微软AntiXss 3 0 http www codeplex com AntiXSS对整个内容进行 html 编码 然后我尝试使用白
  • https 安全 cookie 是否可以防止 XSS 攻击?

    https 连接是否可以保护 cookie 并防止 XSS 攻击 我有一个简单的博客 允许用户输入 JavaScript 代码作为输入 我希望允许用户输入 Javascript 同时仍然防止 XSS 攻击和 cookie 窃取 https
  • 尝试利用?

    我看到我的 nopCommerce 网站记录了以下搜索 ADw script AD4 alert 202 ADw script AD4 我有点好奇他们想要完成什么 我搜索了一下 似乎是ADw script AD4 以 UTF7 编码为
  • 如何将 Markdown 文档批量转换为 HTML?

    我正在用 Markdown 编写一些文档 并为文档的每个部分创建一个单独的文件 我希望能够一次性将所有文件转换为 HTML 但我找不到其他人尝试过同样的事情 我使用的是 Mac 所以我认为一个简单的 bash 脚本应该能够处理它 但我从未在
  • GWT SafeHTML、XSS 和最佳实践

    OWASP 的优秀人员强调 您必须对 HTML 文档中要放入不受信任数据的部分 正文 属性 JavaScript CSS 或 URL 使用转义语法 看OWASP XSS https www owasp org index php XSS 2
  • Jekyll 在子网站上生成静态网站?

    是否可以将 Jekyll 放在 GitHub 上托管的网站的单个部分上 即是否可以让 example github io 成为常规站点 而 example github io blog 由 Jekyll 静态生成 我相信可以通过创建另一个名
  • 防止语言环境文件中的 HTML 字符实体被 Rails3 xss 保护破坏

    我们正在构建一个应用程序 这是我们第一个使用 Rails 3 的应用程序 并且我们必须从一开始就构建 I18n 作为完美主义者 我们希望在我们的视图中使用真正的排版 破折号 卷曲引号 省略号等 这意味着在我们的 locales xx yml
  • PHP 中的数据清理[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 循环中的knitr模板和子文档

    圣诞节前我之前问过跨多个 knitr 文档的单一样式表 https stackoverflow com questions 20370584 single style sheet across multiple knitr document
  • 内容丰富的 api markdown 转换为 HTML

    有没有什么简单的方法可以将 Markdown 文本从 Contentful api 转换为 html 代码以显示在 html 页面上 我尝试过使用 pagedown 和一些类似的技术 但似乎没有一个对我有用 我是 Contentful 的客

随机推荐

  • 最好使用游标适配器或数组适配器

    我在数据库中存储了大约 100 个时间表 需要根据每周 下周 下个月 逾期时间表等要求基于 Listview 显示它们 是否可以在应用程序启动时加载所有计划并根据用户在阵列适配器中选择的选项 每周 逾期 每月等 显示它们 或者在运行时使用查
  • 管理 .NET 应用程序在终止/终止时正常关闭

    我们有一个具有许多前台线程的 NET 控制台应用程序 如果我们使用任务管理器终止进程或从 Windows 命令行发出killjob kill 是否有一种方法可以优雅地关闭应用程序 在 net 控制台应用程序中添加托管代码 例如拥有一个函数被
  • ViewFlipper 与 Fragments

    我有一个带有 ViewFlipper 的 Activity 它可以在一堆视图 页面 和我的数据之间翻转 我正在考虑使用fragments API 在我的视图之间切换 这样做有什么好处呢 由于 ViewFlipper 本质上会切换可见性标志
  • 如何在Windows中最好地设置java的路径

    我很好奇我在 windows 环境中看到的 java 路径之间存在的差异 如果我执行一个命令where java我可以看到 C Program Files x86 Common Files Oracle Java javapath java
  • 检测用户触发的jquery事件或代码调用

    我有一些window onscroll event window scroll function e My Stuff 但在我的代码中我调用动画滚动到某个地方 html body stop animate scrollTop 555 100
  • 如何使用 jQuery 从元素获取边框半径?

    我有一个 div 包含以下 HTML 和 CSS 为了使我的 Javascript 代码更加健壮 我尝试从所选元素中检索某些 CSS 属性 我知道如何使用 css getter 来获取元素 但是如何使用该方法获取边框半径 jQuery 的文
  • iOS 8 TestFlight 不安装应用程序

    正如标题所说 我正在尝试预发布一个 ios8 应用程序 该应用程序已从存档成功上传并显示在预发布下 我按下提交测试版并添加内部测试用户 在 testflight 中 该应用程序出现 但是当我按安装时 它显示 无法安装应用程序 testfli
  • 使用 jQuery 以编程方式触发 IE 的 Javascript 事件

    当 IE 中的用户触发事件时 它被设置为window event目的 查看触发事件的唯一方法是访问window event对象 据我所知 如果以编程方式触发事件 例如通过 jQuery 触发事件 这会导致 ASP NET 验证器出现问题 在
  • Eclipse:打开类和对象的语法突出显示

    是否有可能像在 Visual Studio 中一样在 Eclipse 中打开类和对象的突出显示 目前仅突出显示变量名称 左 Eclipse 右 Visual Studio 2012 Image http image uploader de
  • 转换输入时“ValueError:无法将字符串转换为浮点数”

    最近我一直在编写代码 并在这个错误上陷入困境几天 基本上 该程序计算您每天必须摄入多少卡路里 我必须从条目中获取输入 但我不知道如何将该输入 默认情况下是字符串 转换为浮点数才能开始使用数字 我正在使用 Python 3 和 Tkinter
  • 从十六进制颜色代码中查找颜色名称

    我想从十六进制颜色代码中找到颜色的名称 当我得到十六进制颜色代码时 我想找到最匹配的颜色名称 例如 对于代码 c06040 如何确定它是棕色 蓝色还是黄色 这样我就可以在无需人工干预的情况下找到图像中物体的颜色 颜色深浅的 十六进制代码之间
  • 如何在QML的.qrc资源文件中指定通配符?

    有 x 个 png目录中的文件 我不想手动添加所有这些 而是 想在 qrc文件并让它自己包含所有这些内容 达到这个目的的方法是什么 这是一个小 bash 脚本 它从文件夹的内容生成 qrc 文件 bin sh QRC resourcefil
  • 你可以在 Eclipse Android 项目中添加子文件夹到布局吗?

    当我在布局文件夹中创建子文件夹并将 xml 文件拖到其中时 生成的 R 文件似乎不显示该子文件夹 a 有没有办法改变 b 文件和文件结构是否仍然由 SVN 拾取和 c 那么 如果我这样做 我仍然可以使用布局引用对象吗 当我在中创建子文件夹时
  • 在 Next.js 中将 Markdown 文件作为字符串导入

    如何将 Markdown 文件作为字符串导入Next js在客户端和服务器端工作 您可以配置 Next js webpack 加载器来加载 markdown 文件并将其作为字符串返回 例如 docs home md Home This is
  • 设置弹出(Python)[重复]

    这个问题在这里已经有答案了 假设你有一套 foo 1 2 3 4 5 在我目前正在阅读的 Pro Python 一书中 它说使用foo pop 将从该选择中弹出任意数字 但是 当我尝试时 它pops 1 then 2 then 3 它是随意
  • SQL:获取一个表中的所有记录以及第二个表中的记录计数?

    假设有两个表 TABLE A messageID Message More 1 This is the first message Etc 2 This is the second message Etc 3 This is the thi
  • 如何存储可变参数模板参数?

    是否可以以某种方式存储参数包以供以后使用 template
  • 我可以使用 foo 等模式部分专门化模板吗?

    如果这是可能的 则可以索引到可变参数模板参数包而无需递归 然而 海湾合作委员会是拒绝接受我的部分专业化 here template
  • 所有 8 位按位移位会发生什么

    我在 c 中有一个小查询 我正在对数字 69 使用按位左移 即01000101以二进制形式 01000101 lt lt 8 我得到的答案是100010100000000 难道不应该是全8个零吗 00000000我们将所有 8 位左移 然后
  • Markdown 和 XSS

    好的 所以我一直在 SO 和其他地方阅读有关 markdown 的内容 用户输入和数据库之间的步骤通常给出为 将 markdown 转换为 html 清理 html 带白名单 插入数据库 但对我来说 执行以下操作更有意义 清理降价 删除所有