# Unicode Injection
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert) HackTricksをサポートする他の方法: - **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい場合**は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! - [**公式PEASS&HackTricksスウェグ**](https://peass.creator-spring.com)を入手する - [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)コレクションをご覧ください - **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦で**フォロー**する:[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** - **ハッキングトリックを共有するには、[HackTricks](https://github.com/carlospolop/hacktricks)と[HackTricks Cloud](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
## はじめに バックエンド/フロントエンドが**奇妙なUnicode文字を受け取ったときの挙動**に応じて、攻撃者は**保護をバイパスし、任意の文字をインジェクト**して、XSSやSQLiなどの**インジェクション脆弱性を悪用**する可能性があります。 ## Unicode正規化 Unicode正規化は、**Unicode文字がASCII文字に正規化**されるときに発生します。 このタイプの脆弱性の一般的なシナリオは、システムがユーザーの**入力をチェックした後に何らかの方法で変更**している場合です。たとえば、いくつかの言語では、**入力を大文字または小文字に変換**するだけの呼び出しで、与えられた入力が正規化され、**UnicodeがASCIIに変換**されて新しい文字が生成される可能性があります。\ 詳細については、次を参照してください: {% content-ref url="unicode-normalization.md" %} [unicode-normalization.md](unicode-normalization.md) {% endcontent-ref %} ## `\u`を`%`に変換 Unicode文字は通常、**`\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)をチェックしてください。 ## 絵文字インジェクション バックエンドは**絵文字を受け取ったときに何か変な挙動をする**ことがあります。それが起こったのが、[**この解説**](https://medium.com/@fpatrik/how-i-found-an-xss-vulnerability-via-using-emojis-7ad72de49209)で、研究者が`💋img src=x onerror=alert(document.domain)//💛`などのペイロードでXSSを達成したことです。 この場合、サーバーが悪意のある文字を削除した後、UTF-8文字列をWindows-1252からUTF-8に**変換**したことがエラーでした(基本的に入力エンコーディングと変換エンコーディングが一致していない)。その後、これは適切な`<`ではなく、奇妙なUnicodeの`‹`を生成します。\ ``そのため、この出力を**再度UTF-8からASCIIに変換**しました。これにより、`‹`が`<`に**正規化**され、そのシステムでエクスプロイトが機能する仕組みです。\ これが起こったことです: ```php ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert) HackTricksをサポートする他の方法: * **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**公式PEASS&HackTricksスワッグ**](https://peass.creator-spring.com)を入手する * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見つける * 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)で**フォロー**する。 * **HackTricks**と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のgithubリポジトリにPRを提出して、あなたのハッキングトリックを共有してください。