μƒˆμ†Œμ‹

IT & Security/Web

인코딩(ascii, html, url, base 64 ..)

  • -
λ°˜μ‘ν˜•

 

IT인이라면 μ–΄λ””μ—μ„œλ“  ν•œλ²ˆμ―€μ€ 듀어봀을 λ²•ν•œ "인코딩!"

각쒅 μ‚¬μ΄νŠΈμ—μ„œ Web문제λ₯Ό ν’€λ•Œλ„ 자주 λ“±μž₯ν•˜λŠ”λ°μš”,

 

μ˜€λŠ˜μ€ μ œκ°€ 자주 μ“°λŠ” 인코딩 μ’…λ₯˜μ™€, 인코딩이 무엇인지에 λŒ€ν•΄ κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…해보렀 ν•©λ‹ˆλ‹€.

(μ œκ°€ μ•Œκ³  μžˆμ–΄μ•Ό ν•΄μ„œ 정리겸 써놓은 κ²ƒμ΄λ‹ˆ, ν‹€λ¦° λ¬Έμž₯은 λŒ“κΈ€λ‘œ μ§€μ ν•΄μ£Όμ„Έμš”.)

 

 


 

 

인코딩?

 

인코딩(encoding)은 μ •λ³΄μ˜ ν˜•νƒœλ‚˜ ν˜•μ‹μ„ ν‘œμ€€ν™”, λ³΄μ•ˆ, 처리 속도 ν–₯상, μ €μž₯ 곡간 μ ˆμ•½ 등을 μœ„ν•΄μ„œ λ‹€λ₯Έ ν˜•νƒœλ‚˜ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 처리 ν˜Ήμ€ κ·Έ 처리 방식을 λ§ν•œλ‹€. λ™μ˜μƒμ΄λ‚˜ μ΄λ―Έμ§€μ˜μ—­μ—μ„œλ„ 많이 μ‚¬μš©λ˜λŠ” μš©μ–΄λ‘œ, μ’…λ₯˜κ°€ λ‹€μ–‘ν•˜λ‹€.

 

 

νŠΉμ§•

 

- μ •λ³΄μ˜ ν˜•νƒœλ‚˜ ν˜•μ‹μ„ λ³€ν™˜ν•˜λŠ” μ²˜λ¦¬λ‚˜ 처리 방식

 

- λ‚΄μš©μ—λŠ” λ³€ν™”κ°€ μ—†λ‹€. 즉 ν˜•νƒœλ₯Ό λ°”κΎΈλŠ” 것이지 λ‚΄μš©μ„ λ°”κΎΈλŠ” 것이 μ•„λ‹˜.

 

- μ•”ν˜Έν™”λ‘œλŠ” μ‚¬μš© λΆˆκ°€λŠ₯. (μ•”ν˜Έν™” : λͺ» μ•Œμ•„λ΄μ•Όν•¨ -> 즉 κ·œμΉ™μ΄ μΌμ •μΉ˜ μ•Šκ²Œ μΉ˜ν™˜ ν˜Ήμ€ μ „μΉ˜ ν•˜λŠ”λ°,

  μΈμ½”λ”©μ˜ κ°œλ…κ³ΌλŠ” 닀름)

 

- μ’…λ₯˜λ‘œλŠ” ASCII , URL , HTML , Base64 .....λ“±μ˜ 인코딩이 μžˆλ‹€. (그외에도 정말 λ‹€μ–‘ν•œ 인코딩이 쑴재 함.)


 

 

μœ„ν‚€λ°±κ³Όμ—μ„œλŠ” 인코딩을 μ•„λž˜μ™€ 같이 μ •μ˜ν•˜κ³  μžˆλ‹€.

https://ko.wikipedia.org/wiki/%EC%9D%B8%EC%BD%94%EB%94%A9

 

 

 

ASCII 인코딩

 

ASCIIλŠ” 졜초의 λ¬Έμžμ—΄ μΈμ½”딩이닀. 7 bit둜 κ΅¬μ„±λ˜μ–΄ 있으며, μ˜μ–΄λ₯Ό μœ„ν•œ 문자, 숫자, 특수문자, 기호 λ“± 128개 문자λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€. ASCIIμ—μ„œλŠ” μ˜μ–΄λ§Œμ„ κ³ λ €ν•˜μ—¬ λ§Œλ“€μ–΄μ‘Œκ³ , 일본어 쀑ꡭ어 λ“± λ‹€λ₯Έ μ–Έμ–΄λŠ” ν‘œν˜„μ΄ λΆˆκ°€λŠ₯ν•˜λ‹€.

 

 

μ•„λž˜ μ‚¬μ΄νŠΈλŠ” μœ„ν‚€λ°±κ³Όμ˜ μ •μ˜λœ ASCII 인코딩이닀.

 

https://ko.wikipedia.org/wiki/ASCII

 

ASCII - μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전

μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전. 1972 ν”„λ¦°ν„° μ‚¬μš© μ„€λͺ…μ„œμ— κ°œμ‹œλœ μ•„μŠ€ν‚€ μ½”λ“œ μ°¨νŠΈν‘œ λ―Έκ΅­μ •λ³΄κ΅ν™˜ν‘œμ€€λΆ€ν˜Έ(μ˜μ–΄: American Standard Code for Information Interchange), λ˜λŠ” μ€„μ—¬μ„œ ASCII( , μ•„μŠ€ν‚€)λŠ” 영문

ko.wikipedia.org

 

νŠΉμ§•μ€ μ•„λž˜μ™€ κ°™λ‹€.

 

- ASCII (American Standard Code for Information Interchange) : λ―Έκ΅­ μ •λ³΄κ΅ν™˜ ν‘œμ€€ μ½”λ“œ

 

- 1Byte 쀑 7bitλ₯Ό μ΄μš©ν•΄μ„œ 0 ~ 127 κΉŒμ§€ 128개이 문자λ₯Ό κ΅¬μ„±ν•œ μ½”λ“œ

 

- 128개의 λ¬ΈμžλŠ” μ˜μ–΄ μ•ŒνŒŒλ²³ λŒ€λ¬Έμž, μ†Œλ¬Έμž, 보쑰문자, μ œμ–΄λ¬Έμžλ‘œ ꡬ성

 

- 영문 μ•ŒνŒŒλ²³μ„ μ‚¬μš©ν•˜λŠ” λŒ€ν‘œμ μΈ 문자 인코딩 방법



 

 

 

URL 인코딩

 

URL 인코딩은 νΌμ„ΌνŠΈ 인코딩이라고도 ν•œλ‹€.

νΌμ„ΌνŠΈ 인코딩은 URL에 문자λ₯Ό ν‘œν˜„ν•˜λŠ” 문자 인코딩 방법이닀. 이 방법에 λ”°λ₯΄λ©΄ μ•ŒνŒŒλ²³μ΄λ‚˜ 숫자 λ“± λͺ‡λͺ‡ 문자λ₯Ό μ œμ™Έν•œ 값은 μ˜₯ν…Ÿ λ‹¨μœ„λ‘œ λ¬Άμ–΄μ„œ, 16μ§„μˆ˜ κ°’μœΌλ‘œ μΈμ½”λ”©ν•œλ‹€.

 

 

μ•„λž˜ μ‚¬μ΄νŠΈλŠ” μœ„ν‚€λ°±κ³Όμ˜ μ •μ˜λœ url 인코딩이닀.

https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%84%BC%ED%8A%B8_%EC%9D%B8%EC%BD%94%EB%94%A9

 

νΌμ„ΌνŠΈ 인코딩 - μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전

μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전. νΌμ„ΌνŠΈ 인코딩(percent-encoding)은 URL에 문자λ₯Ό ν‘œν˜„ν•˜λŠ” 문자 인코딩 방법이닀. 이 방법에 λ”°λ₯΄λ©΄ μ•ŒνŒŒλ²³μ΄λ‚˜ 숫자 λ“± λͺ‡λͺ‡ 문자λ₯Ό μ œμ™Έν•œ 값은 μ˜₯ν…Ÿ λ‹¨μœ„λ‘œ λ¬Άμ–΄οΏ½

ko.wikipedia.org

 

νŠΉμ§•

 

- URL은 μ‚¬μš©κ°€λŠ₯ν•œ λ¬Έμžκ°€ μ œν•œλ˜μ–΄μžˆλ‹€.

 

- URL μŠ€νŽ™μΈ RFC 1738μ—λŠ” URL에 μ‚¬μš©ν•  수 μžˆλŠ” λ¬ΈμžλŠ” μ•ŒνŒŒλ²³, μˆ«μžμ™€ λͺ‡κ°€μ§€ 특수문자둜 μ œν•œλ˜μ–΄μžˆλ‹€.

 

- λ”°λΌμ„œ ν•œκΈ€ λ“±μ˜ λ‹€μ–‘ν•œ 문자λ₯Ό URL에 ν‘œμ‹œν•˜λ €λ©΄ URL에 ν—ˆμš©ν•˜λŠ” 문자둜 λ³€ν™˜ν•˜μ—¬ ν‘œν˜„ν•΄μ•Ό ν•œλ‹€.

 

- URL λ©”νƒ€λ¬Έμžλ“€μ— λŒ€ν•œ 인코딩이 ν•„μš”ν•˜λ‹€

 

- ν˜•μ‹ : κΈ°μ‘΄ λ¬Έμžμ—΄μ˜ HEX κ°’ μ•žμ— %λ₯Ό μ‚¬μš© (ASCII Table의 좜λ ₯κ°€λŠ₯ 문자)

 

- ν•œκΈ€ : UTF-8 μ‚¬μš©

 

- Force Full URL Encoding : λͺ¨λ“  λ¬Έμžμ—΄μ„ κ°•μ œλ‘œ 인코딩

 

 

 

HTML 인코딩

 

μ•„λž˜ λΈ”λ‘œκ·Έ μ°Έκ³ ν•΄μ£Όμ„Έμš”.

좜처 : https://ghdwn0217.tistory.com/76

 

 

 

Base 64 인코딩

 

컴퓨터 λΆ„μ•Όμ—μ„œ μ“°μ΄λŠ” Base 64 λž€ 8λΉ„νŠΈ 이진 데이터λ₯Ό 문자 μ½”λ“œμ— 영ν–₯을 받지 μ•ŠλŠ” 곡톡 ASCII μ˜μ—­μ˜ λ¬Έμžλ“€λ‘œλ§Œ 이루어진 일련의 λ¬Έμžμ—΄λ‘œ λ°”κΎΈλŠ” 인코딩 방식을 κ°€λ¦¬ν‚€λŠ” κ°œλ…μ΄λ‹€. μ›λž˜ Base 64λ₯Ό κΈ€μž κ·ΈλŒ€λ‘œ λ²ˆμ—­ν•˜μ—¬ 보면 64μ§„λ²•μ΄λž€ λœ»μ΄λ‹€.

 

https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464

μœ„ν‚€λ°±κ³Όμ˜ μ •μ˜λœ Base 64 인코딩

 

 

 

BASE64 인코딩 μˆœμ„œ 

 

1. μ•„μŠ€ν‚€ ν…Œμ΄λΈ” 맡핑

 

2. 2μ§„μˆ˜ λ³€ν™˜

 

3. 6bit λ‹¨μœ„λ‘œ λΆ„ν• 

 

4. 10μ§„μˆ˜ λ³€ν™˜

 

5. BASE64 ν…Œμ΄λΈ” 맡핑

 

6. νŒ¨λ”©μ—°μ‚°( 총 λΉ„νŠΈμˆ˜ % 3 => 0 : μ—†μŒ / 1 : = / 2 : == )

 

 

 

νŠΉμ§•

 

- 2진 데이터λ₯Ό ASCII ν˜•νƒœμ˜ ν…μŠ€νŠΈλ‘œ ν‘œν˜„ κ°€λŠ₯

 

- μ›Ή 인증 쀑 기본인증에 μ‚¬μš©

 

- 끝 λΆ€λΆ„μ˜ Padding(==)으둜 식별 κ°€λŠ₯

 

- 64개의 문자 μ‚¬μš© (영문 λŒ€, μ†Œλ¬Έμž, 숫자 , + , / )

 

- 데이터λ₯Ό 6bit λ‹¨μœ„λ‘œ ν‘œν˜„


이 νŠΉμ§•λ•μ— base 64 μΈμ½”λ”©μ΄λΌλŠ” 것을 쑰금 μ‰½κ²Œ μ•Œμ•„μ±Œ 수 있음! (뒀에 =이 μžˆλ‹€λ©΄ μ˜μ‹¬ν•΄λ³΄κΈ°)

 

 

 

좜처: https://itstory.tk/entry/μΈμ½”λ”©μ΄λž€-ASCII-URL-HTML-Base64-MS-Script-인코딩 

 

 

 

λ°˜μ‘ν˜•

'IT & Security > Web' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

νŒŒμΌμ—…λ‘œλ“œ 취약점 - μ›Ήμ‰˜  (0) 2020.08.29
Stored XSS μ‹€μŠ΅  (0) 2020.08.25
ν•΄ν‚Ή 툴 μ‚¬μš©ν•˜κΈ°(1)  (6) 2020.07.18
가상머신 였λ₯˜ ν•΄κ²°  (2) 2020.05.02
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.