markdown與html之間轉換引發的問題
阿新 • • 發佈:2018-10-04
引入 結果 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之間轉換引發的問題