markdown与html之间转换引发的问题
https://www.hackersb.cn/hacker/235.html
看了这位师傅的文章有感而发
前言
对于支持markdown语法的网站,一般都是在后端将markdown语法渲染为html标签,比如
**hhh**
就会被渲染为
<strong>hhh</strong>
而链接
[baidu](http://www.baidu.com)
就会被渲染为
<a href=http://www.baidu.com>baidu</a>
但这里就会出现一个问题,
[](javascript:alert(1))
伪协议会怎么处理呢?
当然是可以弹窗
那如果像让他自动弹窗该怎么办呢
深入一步
markdown中引入图片的语法是这样的
![tpic](dizhi)
而图片在转换成html时,有可能是转换成这样的
<img src="dizhi" alt="tpic">
那么我们加上一个onerror或者onload呢?
![tpic "onload=alert(1)](dizhi)
结果显然是能够闭合的
<img src="dizhi" alt="tpic" onload=alert(1)">
但是多了一个单引号,所以我们使用注释将其注释掉,就能够弹窗
后记
实际使用中还是引用外部脚本吧……就像上面的师傅那样