参考:
https://qiita.com/Azunyan1111/items/64d23396bcf2213af024
https://github.com/showdownjs/showdown/wiki/Markdown’s-XSS-Vulnerability-(and-how-to-mitigate-it)
https://jpcertcc.github.io/OWASPdocuments/CheatSheets/XSSFilterEvasion.html

Markdown エディターを実装するときなどは onerror 属性や href、src などの属性を適切にサニタイズすることが大前提。
そのうえで、たとえば以下をコピペして使うと XSS 対策が適切に行われているかの簡易テストができる。

<button onclick"alert('XSS')">XSS</button>
<iframe srcdoc="<script>alert('XSS');</script>"></iframe>
<!-- 属性内部の文字列「<」や「>」だけがエスケープされていても下記のようにBase64でエスケープされずに通る場合がある -->
<iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk7PC9zY3JpcHQ+">
<p onmousemove="alert('XSS')">XSS</p>
<!-- https://jpcertcc.github.io/OWASPdocuments/CheatSheets/XSSFilterEvasion.html#XSS_Locator -->
';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//";
alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//--
></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>