사용자 삽입 이미지

웹 애플리케이션은 데이터에 여러 가지 인코딩 스키마를 사용합니다. HTTP 프로토콜과 HTML 언어 모두 텍스트 기반으로 돼있고, 생소한 문자나 바이너리 데이터가 안전하게 사용하기 위해 여러가지 인코딩 스키마가 개발되었습니다. 때로는 웹 애플리케이션 취약점 분석을 위해서 인코딩 스키마를 사용해 데이터를 변경할 때가 있고 인코등 스키마를 조정해서 원래의 의도와 벗어난 오동작 유발이 가능합니다.



0x01 URL Encoding

URL 인코딩은 ASCII 코드에서 0x20~0x7e의 범위 안의 문자열을 %뒤에 2자리 16진수 붙여서 만든 값으로 표현한다..

                                                       %3d  =
                                                       %25  %
                                                       %0a  new line
                                                       %00  null byte

URL 인코딩에서 +문자는 띄어 쓰기를 의미하며, %20과 동일하다.

필수 인코딩 문자 : Space % ? & = ; + #

URL 인코딩은 확장된 아스키 문자를 사용시에 문제가 발생하는 문자를 인코딩할때 사용됩니다.



0x02 Unicode Encoding

유니코드는 문자 인코딩의 표준으로 모든 시스템에서 사용이 가능하도록 디자인되어 있다. 유니코드는 다양한 인코딩 스키마를 사용하고 있으며 그 중 일부가 웹 애플리케이션에서 특수문자를 나타낼 때 쓰인다.

16비트 유니코드 인코딩은 URL인코딩과 비슷하게 동작되며 접두어로 %u를 가지고 16진수형태로 표현된다.

%u2215 /
%u00e9 e



0x03 HTML Encoding

HTML 인코딩은 스크립트 내에서 문제를 일으킬 수 있는 문자들을 인코딩하는데 사용 된다.

"  "
' '
&  &
&lt;      <
&gt;     >

모든 문자열은 ASCII 코드를 10진수로 표현한 HTML 인코딩 방법을 사용할 수 있다.
&#34;    "
&#39;    '

또는 ASCII 코드를 16진수(x로 시작)를 이용한 방법도 사용할 수 있다.
&#x22;  "
&#x27;  '

XSS 취약점 찾을 때 HTML 인코딩에 유의해야 한다.



0x04 Base64 Encoding

Base54 인코딩은 바이너리 데이터들을 ASCII 문자를 사용하여 테스트로 안적학게 표현하는 방법이다. Base64 인코딩은 이메일 첨부 파일들을 인코딩해서 SMTP를 통해 안전하게 정송하거나 HTTP 인증 승인을 할 경우 사용자 인증서를 인코딩 할 때 사용된다.

Base64는 3Byte(24bit)을 6Bit 크기의 4개의 그룹으로 나눈 후 가각에 대응 되는 64개의 ASCII로 변환을 하고 맨 마지막 부분이 남을 경우 =로 패딩을 한다. Base64 인코딩은 다음과 같이 출력 가능한 ASCII 문자들만을 포함한 문자 세트를 사용한다.

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

예시 The Web Application Hacker's Handbook
VGhlIFdlYiBBcHBsaWNhdGlvbiBIYWNrZXIncyBIYW5kYm9va2==



0x05 Hex Encoding

바이너리 데이터 전송할 때 ASCII문자들과 함께 곧 바로 Hex(16진법) 인코딩을 사용한다.

예시 N3015M
4E333031354D

Base64와 Hex 인코딩은 데이터 형태로 보아 쉽게 인코딩 타입을 알 수 있기 때문에 잘 살펴보면 식별이 가능하다.


0x06 Encoding Tool

진단을 할때 인코딩 관련해서 유용하게 쓰는 툴입니다. 참고하시기 바랍니다.

DOWNLOAD :
Posted by n3015m
:
BLOG main image
웹 해킹 스터디를 위한 공간입니다. n3oism@gmail.com by n3015m

공지사항

카테고리

분류 전체보기 (17)
공지사항 (0)
웹 해킹 & 입문 (5)
웹 해킹 & 참고자료 (2)
해킹대회 문제풀이 (8)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :