.. | ||
README.md | ||
unicode-normalization.md |
Unicode Injection
AWSハッキングをゼロからヒーローまで学ぶ htARTE (HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックする
- 💬 Discordグループに参加するか、テレグラムグループに参加するか、Twitter 🐦 @carlospolopmをフォローする。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有する。
はじめに
バックエンド/フロントエンドが変わったユニコード文字を受け取る際の挙動によって、攻撃者は保護をバイパスし、任意の文字を注入することができるかもしれません。これにより、XSSやSQLiなどの注入脆弱性を悪用することができます。
ユニコード正規化
ユニコード正規化は、ユニコード文字がASCII文字に正規化されるときに発生します。
このタイプの脆弱性が発生する一般的なシナリオは、システムが入力をチェックした後に何らかの方法でユーザーの入力を変更する場合です。例えば、単純な呼び出しで入力を大文字または小文字にすると、与えられた入力が正規化され、ユニコードがASCIIに変換され新しい文字が生成されます。
詳細については以下をチェックしてください:
{% content-ref url="unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}
\u
から %
へ
ユニコード文字は通常、\u
プレフィックスで表されます。例えば、文字 㱋
は \u3c4b
(ここで確認)です。バックエンドがプレフィックス**\u
を %
に変換すると、結果の文字列は %3c4b
となり、URLデコードすると: <4b
です。そして、ご覧の通り、<
文字が注入されます**。
バックエンドが脆弱であれば、この技術を使って任意の文字を注入することができます。
必要な文字を見つけるには https://unicode-explorer.com/ をチェックしてください。
この脆弱性は、実際には研究者が見つけた脆弱性から来ています。より詳細な説明については https://www.youtube.com/watch?v=aUsAHb0E7Cg をチェックしてください。
絵文字注入
バックエンドは時々、絵文字を受け取ると奇妙な挙動をします。それはこのライトアップで起こったことで、研究者は次のようなペイロードでXSSを達成しました: 💋img src=x onerror=alert(document.domain)//💛
この場合、エラーはサーバーが悪意のある文字を削除した後、UTF-8文字列をWindows-1252からUTF-8に変換したことでした(基本的に入力エンコーディングと変換からのエンコーディングが一致していませんでした)。それで、これは適切な < を与えずに奇妙なユニコードの一つを与えます: ‹
``そこで、この出力を再びUTF-8からASCIIに変換しました。これにより、‹
が <
に正規化され、そのシステムでエクスプロイトが機能する方法です。
これが起こったことです:
<?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://unicode.org/emoji/charts-14.0/full-emoji-list.html
AWSハッキングをゼロからヒーローまで学ぶ htARTE (HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい場合やHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを手に入れましょう
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックしてください
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmをフォローしてください。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有してください。