Skip to content

Instantly share code, notes, and snippets.

@SalHe
Created December 5, 2021 03:11
Show Gist options
  • Save SalHe/20b558fb6f371ffeaf0faab26d7355d6 to your computer and use it in GitHub Desktop.
Save SalHe/20b558fb6f371ffeaf0faab26d7355d6 to your computer and use it in GitHub Desktop.
MdEditorV3存在安全隐患

MdEditorV3安全隐患

当前的编辑器可能存在被注入JS代码攻击的安全隐患。

可以将本Markdown内容完整的复制到MdEditorV3编辑器中测试。

测试信息

  • 测试版本:v1.7.3
  • 测试时间:2021/12/05

注入示例

示例1

SCRIPT👉Hello👈SCRIPT

示例2

这个代码已经被注入,不过没能被直接调用(个人不是干这块的,不是很懂)。

SCRIPT👉<script type='text/javascript'>alert('你好');</script>👈SCRIPT

示例3

<iframe src="https://next.vuex.vuejs.org/" width="500" height="300"></iframe>

参考工具代码

不使用字符串表示字符串(用于支持复杂的字符串)

function StringToIntArray(str){
    let arr = [];
    for(let i=0;i<str.length;i++)
        arr.push(str.charAt(i));
    return str;
}
// IntArrayToString
var str = function (arr){
  var zstr = String();
  return arr.map(x=>String.fromCharCode(x)).join(zstr);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment