1. 程式人生 > >markdown與html之間轉換引發的問題

markdown與html之間轉換引發的問題

引入 結果 com markdown 渲染 深入 baidu 一個 scrip

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)">

但是多了一個單引號,所以我們使用註釋將其註釋掉,就能夠彈窗

後記

實際使用中還是引用外部腳本吧……就像上面的師傅那樣

markdown與html之間轉換引發的問題