μΈμ½λ©(Encoding)
π‘ν΄λΉ λ΄μ©μ pentestqymμ λ΄μ©μ λ€μ ν λ² μ 리ν λ΄μ©μ΄λ©°,
λͺ¨λ μ μκΆμ ν΄λΉ μ¬μ΄νΈμκ² μμ΅λλ€.
μΈμ½λ©(Encoding)μ΄λ?
μΈμ½λ© : μ΄λ€ ν νμμ λ°μ΄ν°λ₯Ό λ€λ₯Έ νμμΌλ‘ λ³ννλ κΈ°μ μ΄λ κ³Όμ
λμ½λ© : μΈμ½λ©λ νμμ λ€μ μλμ νμμΌλ‘ λ³ννλ κΈ°μ μ΄λ κ³Όμ
μΉ(App)μ μ μΈμ½λ©μ ν κΉ?
μ΄κΈ° μΉ νκ²½μμλ ASCII κΈ°λ°μ λ¬Έμ νκΈ°μ λν μꡬμ¬νμ΄ μ£Όλ‘ μμμ§λ§, μΈν°λ·μ κΈλ‘λ² νμ₯κ³Ό λ€κ΅μ΄ νκΈ°μ νμμ±μ΄ λλλλ©΄μ λ€μν μΈμ½λ© κΈ°λ²μ΄ κ°λ°λμμ΅λλ€. μΉμμ μ£Όλ‘ μ¬μ©λλ μΈμ½λ© κΈ°λ²μ μ€μν κ°λ μΌλ‘ μμλμ΄μΌ ν©λλ€.
μΈμ½λ© μ’ λ₯μ μ ν
URL μΈμ½λ©
URL μΈμ½λ©μ URLμμ λ¬Έμλ₯Ό νννκΈ° μν κΈ°λ²μΌλ‘, % λ¬Έμ λ€μ 16μ§μ ASCII λ¬Έμλ₯Ό λΆν μ¬μ©ν©λλ€. URLμλ μΆλ ₯ κ°λ₯ν ASCII λ¬Έμλ§ μ¬μ©ν μ μμΌλ©°, νΉμ λ¬Έμλ λ€κ΅μ΄ λ¬Έμ λ±μ΄ ν¬ν¨λ κ²½μ° μΈμ½λ©μ ν΄μΌ ν©λλ€. λν URLμμ μ¬μ©λλ μμ½ λ¬Έμλ νΉλ³ν μλ―Έλ₯Ό κ°λ ꡬλΆμλ‘ μ¬μ©λλ―λ‘ μΆ©λμ νΌνκΈ° μν΄ μΈμ½λ©μ΄ νμν©λλ€.
HTML URL Encoding Reference
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
μμΈν λ΄μ©μ μμ λ§ν¬λ₯Ό ν΅ν΄ νμΈνμλ©΄ λ©λλ€. λ§μ΄ μ¬μ©λλ μμ½ λ¬Έμλ₯Ό μμ§νλ©΄ μ’μ§λ§.. κ·Έ λΆλΆμ μ¬μ©νλ€ λ³΄λ©΄ λκΈ°λ νκ³ μ§νΌ ν΄λ‘ λλ €μ νλ κ²½μ°κ° λ€λ°μ΄κΈ°μ μ¬μ©λλ ν΄μ κ²μνμκ±°λ μλ λ§ν¬λ₯Ό ν΅ν΄ νμλ©΄ λ©λλ€.
dreamhack-tools
tools.dreamhack.games
μ΄μ€ μΈμ½λ©(Double Encoding)
URL λμ½λ©μ μννλ κ³Όμ μμ μ λ ₯κ°μ λ λ² URL μΈμ½λ©νλ κΈ°λ²
μ΄λ‘ μΈν΄ URL μΈμ½λ©λ κ°μ΄ ν λ² λ μΈμ½λ©λμ΄ % λ¬Έμκ° %25λ‘ ννλλ κ²°κ³Όλ₯Ό κ°μ Έμ΅λλ€. μλ₯Ό λ€μ΄, 곡백문μλ URL μΈμ½λ© μ %20μΌλ‘ ννλλλ°, μ΄μ€ μΈμ½λ©μ μ μ©νλ©΄ %2520μΌλ‘ ννλ©λλ€.
μ 리νλ©΄, μ΄μ€ μΈμ½λ©μ μ λ ₯κ°μ λ λ² URL μΈμ½λ©νμ¬ % λ¬Έμλ₯Ό %25λ‘ νννλ κΈ°λ²μ λλ€.
HTML μΈμ½λ©
HTML λ¬Έμμμ νΉμλ¬Έμ(<, >)λ€μ νΉμ κΈ°λ₯μ μνν μ μκΈ° λλ¬Έμ μ μμ μΈ κ³΅κ²©μ μ΄μ©λ μ μμ΅λλ€. μ΄λ₯Ό λ°©μ΄νκΈ° μν΄ νΉμλ¬Έμλ€μ μΈμ½λ©νμ¬ μμ νκ² νμν©λλ€. μ΄λ¬ν μΈμ½λ©μ μ€ν¬λ¦½νΈ μ€νμ μ΄μ©λ μ μλ νΉμλ¬Έμλ€μ λ³ννμ¬ HTML λ¬Έμ μμμ μμ νκ² νννλ μν μ ν©λλ€.
- μλ°μ΄ν("): "
- νλ°μ΄ν('): '
- μ€λκΈ°νΈ(&): &
- μ¬λ κΊ½μ κ΄νΈ(<): <
- λ«λ κΊ½μ κ΄νΈ(>): >
- 곡백문μ(Space):
Base64 Encoding
μ¦, Base64λ λ°μ΄λ리 λ°μ΄ν°λ₯Ό ASCII λ¬Έμλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄λ‘ λ³ννλ μΈμ½λ© λ°©μμ μ¬μ©λ©λλ€. 1
μΈμ½λ©λ λ¬Έμμ΄μ μνλ²³ λμλ¬Έμ(a-zA-Z), μ«μ(0-9), "+"μ "/" κΈ°νΈλ‘ ꡬμ±λλ©°, "="λ₯Ό μ¬μ©νμ¬ λμ μ립λλ€. κ·Έλ¦¬κ³ Base64λ‘ μΈμ½λ©νλ©΄ λ°μ΄ν° ν¬κΈ°κ° μ½ 33% μ¦κ°νλ€λ νΉμ§μ΄ μμ΅λλ€.
Base64 μΈμ½λ©μ λ€μκ³Ό κ°μ νλ‘μΈμ€λ₯Ό ν΅ν΄ μ΄λ£¨μ΄μ§λλ€:
- κ° κΈμλ₯Ό 8bit(1byte)μ λΈλμΌλ‘ λλ
- (8bit * 3) = 24bit(3bytes)μ κ·Έλ£Ήμ λ§λ¬
- 24bit/6bit λ¨μμ κ°λ³ κ·Έλ£ΉμΌλ‘ λλ
- κ° 6bit λ¨μμ κ°λ³ κ·Έλ£Ήμ μμΈνμ λ°λΌ λ³νν©λλ€.
- 24bit κ·Έλ£Ή ꡬμ±μ 8bit λ¨μλ‘ μ±μμ§μ§ μκ³ λλ½λλ κ²½μ° κΈμμλ§νΌ "="λ‘ μ±μ
μ€μ΅(μμ)ν΄λ³΄κΈ°

Base64 visualizer
kevinlitchfield.com
ν΄λΉ μ¬μ΄νΈλ₯Ό ν΅ν΄ νμΈ ν μ μμ΅λλ€.
ν΄λΌμ΄μΈνΈλ μ΄ν ν΄λΉ μ 보λ₯Ό μ¬μ©νκΈ° μν΄ μΏ ν€λ₯Ό μλ²μκ² μ λ¬(GET)νμ¬ λ°μ΄ν°λ₯Ό λ°λ νμμΌλ‘ μ§νλ©λλ€. μ΄λ₯Ό ν΅ν΄ ν΄λΌμ΄μΈνΈλ μλ²λ‘λΆν° λ°κΈλ°μ μΏ ν€λ₯Ό μ¬μ©νμ¬ μΈμ¦, μΈμ μ μ§, μν κ΄λ¦¬ λ±μ μννκ² λ©λλ€.
μ λμ½λ μΈμ½λ©(Unicode Encoding)
μ λμ½λ μΈμ½λ©μ λ€μν λ¬Έμλ₯Ό μ»΄ν¨ν°μμ νννκΈ° μν΄ μ¬μ©λλ μΈμ½λ© λ°©μμ λλ€. μ λμ½λλ μ μΈκ³μ λͺ¨λ λ¬Έμλ₯Ό κ³ μ ν μ½λ ν¬μΈνΈλ‘ 맀ννλ νμ€μ΄λ©°, λ€μν λ¬Έμ μΈνΈλ₯Ό ν¬ν¨νκ³ μμ΅λλ€. 2
μ΄λ»κ² μ μ₯νλμ§μ λ°λ₯Έ νμ(μλμ)μ μλ μ΄λ―Έμ§λ₯Ό ν΅ν΄ νμΈν μ μμ΅λλ€.

// Name: endian.c
// Compile: gcc -o endian endian.c
#include <stdio.h>
int main() {
unsigned long long n = 0x4005a7;
printf("Low <-----------------------> High\n");
for (int i = 0; i < 8; i++) printf("0x%hhx ", *((unsigned char*)(&n) + i));
return 0;
}
λμ ꡬ쑰λ λ°μ΄ν° μ μ₯ λ±μ μμΈν λ΄μ©μ μμ€ν νΈλμμ λ°°μΈ λΆλΆμ΄κΈ°μ μ¬κΈ΄ μΉμΌλ‘ μ€λͺ μ λμ΄κ°κ² μ΅λλ€. λν μ λμ½λ μΈμ½λ©μ λμ± μμΈν λ΄μ©μ μλμ λͺ μλμ΄ μμ΅λλ€.
Unicode - Wikipedia
From Wikipedia, the free encyclopedia Character encoding standard Unicode, formally The Unicode Standard,[note 1][note 2] is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world
en.wikipedia.org
κ°μ₯ μΌλ°μ μΈ μ λμ½λ μΈμ½λ© λ°©μμ UTF-8κ³Ό UTF-16μ λλ€.
UTF-8
κ°λ³ κΈΈμ΄ μΈμ½λ© λ°©μμΌλ‘, ASCII λ¬Έμλ 1λ°μ΄νΈλ‘ ννλκ³ , λ€λ₯Έ μ λμ½λ λ¬Έμλ 2λ°μ΄νΈ μ΄μμΌλ‘ ννλ©λλ€. μ΄λ₯Ό ν΅ν΄ μμ΄μ κΈ°ν λλΆλΆμ μΈμ΄λ₯Ό ν¨μ¨μ μΌλ‘ ννν μ μμ΅λλ€.
UTF-16
κ³ μ κΈΈμ΄ μΈμ½λ© λ°©μμΌλ‘, λͺ¨λ μ λμ½λ λ¬Έμλ₯Ό 2λ°μ΄νΈ λλ 4λ°μ΄νΈλ‘ ννν©λλ€. κΈ°λ³Έ λ€κ΅μ΄ νλ©΄(Basic Multilingual Plane, BMP)μ μνλ λ¬Έμλ 2λ°μ΄νΈλ‘ ννλκ³ , λλ¨Έμ§λ 4λ°μ΄νΈλ‘ ννλ©λλ€
μ λμ½λ μΈμ½λ©μ μ¬μ©νλ©΄ λ€μν μΈμ΄μ λ¬Έμλ₯Ό λμΌν λ¬Έμ λλ λ°μ΄ν°μμ ννν μ μμΌλ©°, μ μΈκ³μ λ€μν ν μ€νΈ λ°μ΄ν°λ₯Ό μνΈ νΈνμ± μκ² μ²λ¦¬ν μ μμ΅λλ€.
μλ€μ μ‘
Hex Encoding
Hex μΈμ½λ©μ 16μ§μλ‘ ννλ λ¬Έμμ΄λ‘ λ°μ΄λ리 λ°μ΄ν°λ₯Ό λ³ννλ μΈμ½λ© κΈ°λ²μ λλ€. κ° λ¬Έμλ λ°μ΄νΈμ 16μ§μ κ°μ λνλ΄λ©°, μ΄λ₯Ό ν΅ν΄ λ°μ΄λ리 λ°μ΄ν°λ₯Ό μΌλ° ν μ€νΈλ‘ ννν μ μμ΅λλ€.
μμ μλ μ΄λ―Έμ§λ₯Ό 보μλ©΄μ Hex Encodingμ λ€μ μκ°ν΄λ³΄μλ©΄ κΈλ°© μ΄ν΄ λ κ²λλ€.
μ°Έκ³ μλ£
μΈμ½λ©(Encoding) | Pentest Gym | λ²κ·Έλ°μ΄ν°ν΄λ½
μ΄λ² νλ ¨μμλ μΉ μ ν리μΌμ΄μ μμ μ¬μ©λλ μ¬λ¬κ°μ§ μΈμ½λ© κΈ°λ²μ λ€λ£Ήλλ€.μΈμ½λ©(Encoding)μ΄λ?μΈμ½λ©μ΄λ μ΄λ€ ν νμμ λ°μ΄ν°λ₯Ό λ€λ₯Έ νμμΌλ‘ λ³ννλ κΈ°μ μ΄λ κ³Όμ
www.bugbountyclub.com
μ°Έκ³ μ΄λ―Έμ§
- μ£Όλ‘ μ΄λ©μΌμ΄λ μΉμμ μ΄λ―Έμ§λ λ°μ΄λ리 λ°μ΄ν°λ₯Ό μ μ‘νκ±°λ λλ ννλ μ©λ [λ³Έλ¬ΈμΌλ‘]
- μ λμ½λ 컨μμμμ΄λ λ¨μ²΄μμ κ΄λ¦¬νκ³ μμΌλ©°, μ λμ½λ 컨μμμμμλ κ° κΈμλ§λ€ κ³ μ ν μ½λλ₯Ό 맀νν΄ λμμ΅λλ€. μ΄ κ³ μ ν μ½λλ₯Ό μ½λ ν¬μΈνΈ(Code Point)λΌκ³ μΉν©λλ€. [λ³Έλ¬ΈμΌλ‘]