Unicode Injection
Tip
AWS ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:HackTricks Training GCP Red Team Expert (GRTE)
Azure ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks μ§μνκΈ°
- ꡬλ κ³ν νμΈνκΈ°!
- **π¬ λμ€μ½λ κ·Έλ£Ή λλ ν λ κ·Έλ¨ κ·Έλ£Ήμ μ°Έμ¬νκ±°λ νΈμν° π¦ @hacktricks_liveλ₯Ό νλ‘μ°νμΈμ.
- HackTricks λ° HackTricks Cloud κΉνλΈ λ¦¬ν¬μ§ν 리μ PRμ μ μΆνμ¬ ν΄νΉ νΈλ¦μ 곡μ νμΈμ.
Introduction
λ°±μλ/νλ‘ νΈμλκ° μ΄μν μ λμ½λ λ¬Έμλ₯Ό λ°μ λ μ΄λ»κ² λμνλμ§μ λ°λΌ 곡격μλ 보νΈλ₯Ό μ°ννκ³ μμμ λ¬Έμλ₯Ό μ£Όμ ν μ μμΌλ©°, μ΄λ XSS λλ SQLiμ κ°μ μ£Όμ μ·¨μ½μ μ μ μ©νλ λ° μ¬μ©λ μ μμ΅λλ€.
Unicode Normalization
μ λμ½λ μ κ·νλ μ λμ½λ λ¬Έμκ° ASCII λ¬Έμλ‘ μ κ·νλ λ λ°μν©λλ€.
μ΄ μ νμ μ·¨μ½μ μ μΌλ°μ μΈ μλ리μ€λ μμ€ν
μ΄ μ¬μ©μμ μ
λ ₯μ νμΈν ν μ΄λ€ μμΌλ‘λ μμ ν λ λ°μν©λλ€. μλ₯Ό λ€μ΄, μΌλΆ μΈμ΄μμλ μ
λ ₯μ λλ¬Έμ λλ μλ¬Έμλ‘ λ§λλ κ°λ¨ν νΈμΆμ΄ μ£Όμ΄μ§ μ
λ ₯μ μ κ·νν μ μμΌλ©°, μ λμ½λλ ASCIIλ‘ λ³νλμ΄ μλ‘μ΄ λ¬Έμλ₯Ό μμ±ν©λλ€.
μμΈν λ΄μ©μ λ€μμ νμΈνμΈμ:
\u to %
μ λμ½λ λ¬Έμλ μΌλ°μ μΌλ‘ \u μ λμ¬λ‘ ννλ©λλ€. μλ₯Ό λ€μ΄ λ¬Έμ γ±λ \u3c4bμ
λλ€(μ¬κΈ°μμ νμΈ). λ§μ½ λ°±μλκ° \u μ λμ¬λ₯Ό %λ‘ λ³ννλ©΄, κ²°κ³Ό λ¬Έμμ΄μ %3c4bκ° λλ©°, URL λμ½λ©νλ©΄: **<4b**κ° λ©λλ€. κ·Έλ¦¬κ³ , 보μλ€μνΌ, < λ¬Έμκ° μ£Όμ
λ©λλ€.
λ°±μλκ° μ·¨μ½νλ€λ©΄ μ΄ κΈ°μ μ μ¬μ©νμ¬ μ΄λ€ μ’
λ₯μ λ¬Έμλ μ£Όμ
ν μ μμ΅λλ€.
νμν λ¬Έμλ₯Ό μ°ΎμΌλ €λ©΄ https://unicode-explorer.com/λ₯Ό νμΈνμΈμ.
μ΄ μ·¨μ½μ μ μ€μ λ‘ μ°κ΅¬μκ° λ°κ²¬ν μ·¨μ½μ μμ λΉλ‘―λ κ²μΌλ‘, λ κΉμ΄ μλ μ€λͺ μ https://www.youtube.com/watch?v=aUsAHb0E7Cgμμ νμΈνμΈμ.
Emoji Injection
λ°±μλλ μ΄λͺ¨μ§λ₯Ό λ°μ λ μ΄μνκ² λμνλ κ²½μ°κ° μμ΅λλ€. μ°κ΅¬μκ° πimg src=x onerror=alert(document.domain)//πμ κ°μ νμ΄λ‘λλ‘ XSSλ₯Ό λ¬μ±ν μ΄ κΈμμ λ°μν μΌμ
λλ€.
μ΄ κ²½μ°, μλ²κ° μ
μ± λ¬Έμλ₯Ό μ κ±°ν ν Windows-1252μμ UTF-8λ‘ 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;
μ΄λͺ¨μ§ λͺ©λ‘:
- https://github.com/iorch/jakaton_feminicidios/blob/master/data/emojis.csv
- https://unicode.org/emoji/charts-14.0/full-emoji-list.html
Windows Best-Fit/Worst-fit
**μ΄ νλ₯ν κ²μλ¬Ό**μμ μ€λͺ λ λ°μ κ°μ΄, Windowsμλ Best-Fitμ΄λΌλ κΈ°λ₯μ΄ μμ΄ ASCII λͺ¨λμμ νμν μ μλ μ λμ½λ λ¬Έμλ₯Ό μ μ¬ν λ¬Έμλ‘ λ체ν©λλ€. μ΄λ λ°±μλκ° νΉμ λ¬Έμλ₯Ό κΈ°λνκ³ μμ§λ§ λ€λ₯Έ λ¬Έμλ₯Ό λ°κ² λ λ μμμΉ λͺ»ν λμμ μ΄λν μ μμ΅λλ€.
**https://worst.fit/mapping/**μμ best-fit λ¬Έμλ₯Ό μ°Ύμ μ μμ΅λλ€.
Windowsλ μΌλ°μ μΌλ‘ μ€νμ λ§μ§λ§ λΆλΆμμ μ λμ½λ λ¬Έμμ΄μ ASCII λ¬Έμμ΄λ‘ λ³ννλ―λ‘(λ³΄ν΅ βWβ μ λ―Έμ¬κ° μλ APIμμ βAβ μ λ―Έμ¬κ° μλ APIλ‘ μ΄λ, μ: GetEnvironmentVariableAμ GetEnvironmentVariableW) 곡격μλ μ λμ½λ λ¬Έμλ₯Ό 보λ΄μ΄ 보νΈλ₯Ό μ°νν μ μμ΅λλ€. μ΄ λ¬Έμλ λ§μ§λ§μ ASCII λ¬Έμλ‘ λ³νλμ΄ μμμΉ λͺ»ν λμμ μννκ² λ©λλ€.
λΈλ‘κ·Έ κ²μλ¬Όμμλ λ¬Έμ λΈλ리μ€νΈλ₯Ό μ¬μ©νμ¬ μμ λ μ·¨μ½μ μ μ°ννλ λ°©λ², β/β (0x2F)μ λ§€νλ λ¬Έμμ β\β (0x5C)μ λ§€νλ λ¬Έμλ₯Ό μ¬μ©νμ¬ κ²½λ‘ νμμ μ
μ©νλ λ°©λ², λλ PHPμ escapeshellargλ Pythonμ subprocess.runκ³Ό κ°μ μ
Έ μ΄μ€μΌμ΄ν 보νΈλ₯Ό μ°ννλ λ°©λ²μ΄ μ μλμμ΅λλ€. μλ₯Ό λ€μ΄, **μ κ° λ°μ΄ν (U+FF02)**λ₯Ό μ¬μ©νμ¬ μ΅μ’
μ μΌλ‘ 1κ°μ μΈμμ²λΌ 보μ΄λ κ²μ΄ 2κ°μ μΈμλ‘ λ³νλμμ΅λλ€.
μ±μ΄ μ·¨μ½νλ €λ©΄ βWβ Windows APIλ₯Ό μ¬μ©ν΄μΌ νμ§λ§ βAβ Windows APIλ₯Ό νΈμΆν΄μΌ νλ―λ‘ μ λμ½λ λ¬Έμμ΄μ βBest-fitβμ΄ μμ±λ©λλ€.
μ¬λ¬ λ°κ²¬λ μ·¨μ½μ μ μ΄ λ¬Έμ λ₯Ό λκ° ν΄κ²°ν΄μΌ νλμ§μ λν ν©μκ° μκΈ° λλ¬Έμ μμ λμ§ μμ κ²μ λλ€.
Tip
AWS ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:HackTricks Training GCP Red Team Expert (GRTE)
Azure ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks μ§μνκΈ°
- ꡬλ κ³ν νμΈνκΈ°!
- **π¬ λμ€μ½λ κ·Έλ£Ή λλ ν λ κ·Έλ¨ κ·Έλ£Ήμ μ°Έμ¬νκ±°λ νΈμν° π¦ @hacktricks_liveλ₯Ό νλ‘μ°νμΈμ.
- HackTricks λ° HackTricks Cloud κΉνλΈ λ¦¬ν¬μ§ν 리μ PRμ μ μΆνμ¬ ν΄νΉ νΈλ¦μ 곡μ νμΈμ.


