我正在测试一些东西,并试图把它放到Showdown中:
<script>alert("hacked!");</script>当然,它没有警告任何事情(Showdown是为了防止这类事情),但是<script>标记被完全删除了。我使用它作为用户描述,所以脚本标记(以及它的内容)应该是可见的,而不是执行。
我在想,我很可能需要修改一些内置于Showdown代码中的代码,但在它的代码中找不到任何位置,我应该只将其更改为,向显示脚本标记,而不执行标记。
有人知道任何现有的选项或对源代码的一些更改来显示这一点吗?
发布于 2021-01-11 19:34:16
我找到了答案:我只需要用一些可见的东西替换<script>标记的开始和结束,比如<script和</script>。
这是我使用的代码:
myshowdownhtml.split("<script").join("<script").split("<"+"/script>").join("</script>");发布于 2021-01-09 18:23:21
我在代码中找到了这个位置,它负责散列HTML标记,例如:<script>或</script>。
我认为你应该只删除文件中的第329行
一切都应该正常。
https://stackoverflow.com/questions/65645929
复制相似问题