hacktricks/pentesting-web/unicode-injection/README.md

76 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Unicode Injection
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Introduction
рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдмреИрдХ-рдПрдВрдб/рдлреНрд░рдВрдЯ-рдПрдВрдб **рдЕрдЬреАрдм рдпреВрдирд┐рдХреЛрдб рдХреИрд░реЗрдХреНрдЯрд░** рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ **рд╕реБрд░рдХреНрд╖рд╛рдУрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдордирдорд╛рдиреЗ рдХреИрд░реЗрдХреНрдЯрд░ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ** рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ **рдЗрдВрдЬреЗрдХреНрд╢рди рдХрдордЬреЛрд░рд┐рдпреЛрдВ** рдЬреИрд╕реЗ XSS рдпрд╛ SQLi рдХрд╛ **рджреБрд░реБрдкрдпреЛрдЧ** рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
## Unicode Normalization
рдпреВрдирд┐рдХреЛрдб рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм **рдпреВрдирд┐рдХреЛрдб рдХреИрд░реЗрдХреНрдЯрд░ рдХреЛ ASCII рдХреИрд░реЗрдХреНрдЯрд░ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ**ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрдордЬреЛрд░реА рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕рд┐рд╕реНрдЯрдо **рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ** **рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж**ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ **рдЗрдирдкреБрдЯ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдпрд╛ рд▓реЛрдЕрд░рдХреЗрд╕** рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреЙрд▓ рдЗрдирдкреБрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ **рдпреВрдирд┐рдХреЛрдб ASCII рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛** рдЬрд┐рд╕рд╕реЗ рдирдП рдХреИрд░реЗрдХреНрдЯрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреЗред\
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ:
{% content-ref url="unicode-normalization.md" %}
[unicode-normalization.md](unicode-normalization.md)
{% endcontent-ref %}
## `\u` to `%`
рдпреВрдирд┐рдХреЛрдб рдХреИрд░реЗрдХреНрдЯрд░ рдЖрдорддреМрд░ рдкрд░ **`\u` рдЙрдкрд╕рд░реНрдЧ** рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрд░реЗрдХреНрдЯрд░ `у▒Л` рд╣реИ `\u3c4b`([рдпрд╣рд╛рдБ рдЬрд╛рдВрдЪреЗрдВ](https://unicode-explorer.com/c/3c4B)). рдпрджрд┐ рдПрдХ рдмреИрдХрдПрдВрдб **`\u` рдЙрдкрд╕рд░реНрдЧ рдХреЛ `%` рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ**, рддреЛ рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ `%3c4b` рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ URL рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: **`<4b`**ред рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ **`<` рдХреИрд░реЗрдХреНрдЯрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ**ред\
рдпрджрд┐ рдмреИрдХрдПрдВрдб рдХрдордЬреЛрд░ рд╣реИ рддреЛ рдЖрдк рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ **рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреИрд░реЗрдХреНрдЯрд░ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ** рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред\
рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХреИрд░реЗрдХреНрдЯрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП [https://unicode-explorer.com/](https://unicode-explorer.com/) рджреЗрдЦреЗрдВред
рдпрд╣ рдХрдордЬреЛрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢реЛрдзрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдИ рдЧрдИ рдПрдХ рдХрдордЬреЛрд░реА рд╕реЗ рдЖрддреА рд╣реИ, рдЕрдзрд┐рдХ рдЧрд╣рди рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ [https://www.youtube.com/watch?v=aUsAHb0E7Cg](https://www.youtube.com/watch?v=aUsAHb0E7Cg)
## Emoji Injection
рдмреИрдХ-рдПрдВрдб рдХреБрдЫ рдЕрдЬреАрдм рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ **рдЗрдореЛрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ**ред рдпрд╣реА [**рдЗрд╕ рд▓реЗрдЦ**](https://medium.com/@fpatrik/how-i-found-an-xss-vulnerability-via-using-emojis-7ad72de49209) рдореЗрдВ рд╣реБрдЖ рдерд╛ рдЬрд╣рд╛рдВ рд╢реЛрдзрдХрд░реНрддрд╛ рдиреЗ рдПрдХ рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде XSS рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдкрд╛рдИ: `ЁЯТЛimg src=x onerror=alert(document.domain)//ЁЯТЫ`
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдпрд╣ рдереА рдХрд┐ рд╕рд░реНрд╡рд░ рдиреЗ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреИрд░реЗрдХреНрдЯрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж **Windows-1252 рд╕реЗ UTF-8 рдореЗрдВ UTF-8 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛** (рдмреБрдирд┐рдпрд╛рджреА рд░реВрдк рд╕реЗ рдЗрдирдкреБрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг рдЕрд╕рдВрдЧрдд рдереЗ)ред рдлрд┐рд░ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд < рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЕрдЬреАрдм рдпреВрдирд┐рдХреЛрдб: `тА╣`\
``рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд▓рд┐рдпрд╛ рдФрд░ **рдЕрдм UTF-8 рд╕реЗ ASCII рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛**ред рдЗрд╕рдиреЗ `тА╣` рдХреЛ `<` рдореЗрдВ **рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд** рдХрд┐рдпрд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред\
рдпрд╣ рдХреНрдпрд╛ рд╣реБрдЖ:
```php
<?php
$str = isset($_GET["str"]) ? htmlspecialchars($_GET["str"]) : "";
$str = iconv("Windows-1252", "UTF-8", $str);
$str = iconv("UTF-8", "ASCII//TRANSLIT", $str);
echo "String: " . $str;
```
Emoji рд╕реВрдЪрд┐рдпрд╛рдБ:
* [https://github.com/iorch/jakaton\_feminicidios/blob/master/data/emojis.csv](https://github.com/iorch/jakaton\_feminicidios/blob/master/data/emojis.csv)
* [https://unicode.org/emoji/charts-14.0/full-emoji-list.html](https://unicode.org/emoji/charts-14.0/full-emoji-list.html)
{% hint style="success" %}
рд╕реАрдЦреЗрдВ рдФрд░ AWS рд╣реИрдХрд┐рдВрдЧ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
рд╕реАрдЦреЗрдВ рдФрд░ GCP рд╣реИрдХрд┐рдВрдЧ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ</summary>
* [**рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдПрдБ**](https://github.com/sponsors/carlospolop) рджреЗрдЦреЗрдВ!
* **рд╣рдорд╛рд░реЗ рд╕рд╛рде рдЬреБрдбрд╝реЗрдВ** ЁЯТм [**Discord рд╕рдореВрд╣**](https://discord.gg/hRep4RUj7f) рдпрд╛ [**telegram рд╕рдореВрд╣**](https://t.me/peass) рдпрд╛ **рд╣рдореЗрдВ** **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** рдкрд░ рдлреЙрд▓реЛ рдХрд░реЗрдВред**
* **рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░** [**HackTricks**](https://github.com/carlospolop/hacktricks) рдФрд░ [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PRs рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред
</details>
{% endhint %}