0x01. URL 인코딩
   - 16진수 ASCII 형태와 그 앞에 % 붙여 만들어지기도 함.
   - ex) =( %3d ), space( %20 )


0x02. 유니코드 인코딩
   - 문자 인코딩의 표준
   - %u 뒤에 16진수로 표기된 유니코드 문자
   - ex) /( %u2215 ), e( %u00e9 )

   - UTF-8 형식의 인코딩은 문자앞에 %가 붙고 바로 뒤에 문자의 바이트를 16진법으로
     나타낸 숫자가 따라온다
   - ex) ⓒ( %c2%a9 ), ≠( %e2%89%a0 )


0x03. HTML 인코딩
   - 문제가 있을만한 문자들을 안전하게 사용하기 위해 사용
   - HTML 엔티티 정의 : "( &quot; ), &( &amp; ), <( &lt; )
   - ASCII를 이용해 10진법으로 인코딩 : "( &#34; ), '( &#39; )
   - ASCII를 이용해 16진법으로 인코딩 : "( &#x22; ), '( &#x27; )


0x04. Base64 인코딩
   - 모든 바이너리 데이터를 출력 가능한 ASCII 문자들을 통해서만 나타냄
   - 이메일 첨부 파일을 인코딩해서 SMTP를 통해 안전하게 전송할 때 사용
   - 입력 데이터를 3개의 블록으로 나누고 각 블록은 다시 6비트씩 네부분으로 나뉜다
   - 6비트의 데이터는 64개의 다른 변환을 줄 수 있으며, 64개 문자를 통해 쉽게 나타냄
   - 입력 데이터의 마지막 블록이 출력 데이터의 세 블록보다 작게 나왔다면 출력은 
      하나 또는 두 개의 = 문자로 채워진다. 
   - ex) test( dGVzdG== )


0x05. Hex 인코딩
   - 많은 애플리케이션들은 바이너리 데이터 전송시 ASCII 문자들과 함께 Hex 인코딩 사용
   - ex) test( 74657374 )


0x06. En·Decoding 관련 사이트 및 Tool
   - TRANSLATOR, BINARY(http://home2.paulschou.net/tools/xlate/)
      : TEXT, BINARY, HEX, BASE64, DEC/CHAR 의 En·Decoding 지원

   - Yellowpipe(http://www.yellowpipe.com/yis/tools/encrypter/index.php)
      : 각종 En·Decoding 지원

   - Coder(http://bindshell.net/tools/coder)
      : 적은 용량의 인디코딩 툴












'- Web Hacking > 1. 기초 다지기' 카테고리의 다른 글

HTTP 프로토콜(3)  (1) 2010.01.12
HTTP 프로토콜(2)  (0) 2010.01.12
HTTP 프로토콜(1)  (0) 2010.01.12
Posted by wooga

0x08. 상태 코드
   ■ 1xx : 정보 제공
   ■ 2xx : 요청이 성공적으로 이루어짐
   ■ 3xx : 요청한 해당 자원이 다른 곳에 있음
   ■ 4xx : 요청에 문제가 있음
   ■ 5xx : 서버에 에러가 있음

① 1xx
   - 100 Continue : 서버에게 메시지 바디를 포함한 요청을 보냈을 때
 
② 2xx
   - 200 OK : 요청이 성공했다는 것을 나타냄
   - 201 Created : PUT 요청이 성공적으로 이루어 졌음

③ 3xx
   - 301 Moved Permanently : 브라우저의 요청을 다른 URL로 항시 전달함
   - 302 Found : 클라이언트가 같은 요청을 하면 기존의 URL로 돌아감
   - 304 Not Modified : 서버에 요청한 자료에 대해 클라이언트 내에 복사된
                               캐시를 사용하게 함.  

④ 4xx
   - 400 Bad Request : 서버에게 잘못된 HTTP 요청을 했음을 나타냄
   - 401 Unauthorized : 서버가 요청에 대해 HTTP 인증 확인을 요구함
   - 403 Forbidden : 클라이언트의 요청에 대해 접근을 차단함
   - 404 Not Found : 클라이언트가 요청한 자료가 존재하지 않음
   - 405 Method Not Allowed : 요청에 이용한 메소드가 해당 URL에 지원 불가
   - 413 Request Entity To Large : 클라이언트가 요청한 바디를 서버에서 
                                               처리하기에는 너무 크다는 것을 나타냄
   - 414 Request URI Too Long : 413과 비슷하지만 요청에 사용된 URL이 서버가
                                             감당할 수 없을 만큼 너무 크다는 것을 나타냄

⑤ 5xx
   - 500 Internal Server Error : 서버가 예상하지 못한 요청으로 서버가 해당 요청을
                                          실행할 수 없을 때 
   - 503 Service Unavailable : 서버에서 구동 중인 애플리케이션이 응답하지 못함


※ 좀더 자세한 내용은 아래 링크 참조
http://angelsoma.com/view.php?id=apache&no=19


0x09. HTTPS
- SSL(Secure Sockets Layer)을 이용해 클라이언트와 서버 사이에 주고받는 
   정보를 보호하는 데 사용

0x10. HTTP 프록시
- 클라이언트 브라우저와 목적지 웹서버 간에 중개 역할

0x11. HTTP 인증
① HTTP 프로토콜 사용자 인증 방법
   - Basic : 각 메시지 요청 헤더에 Base64로 암호화 한 문자열을
                사용자 자격 증명으로 보냄
   - NTLM : 시도/응답 방법으로, 윈도우 NTLM 프로토콜을 사용한다.
   - Digest : 시도/응답 방법으로, MD5 체크섬(checksum)을 사용한다.
 

'- Web Hacking > 1. 기초 다지기' 카테고리의 다른 글

인코딩 스키마  (0) 2010.01.13
HTTP 프로토콜(2)  (0) 2010.01.12
HTTP 프로토콜(1)  (0) 2010.01.12
Posted by wooga
0x05. URL
- 웹 자료 고유의 이름으로 자원을 검색할 때 사용
- URL 형식
   프로토콜://호스트명[:포트번호]/[경로/]파일명[?Param=값]
   ex) http://www.test.com:80/test/test.asp?test=test


0x06. HTTP 헤더
①  일반적인 헤더
   - Connection : HTTP 전송이 완료된 후에 TCP 연결을 차단할지, 다른 메시지를
            받기위해 열어둘지를 결정
   - Content-Encoding : 메시지 바디 내용에 어떤 종류의 인코딩을 사용할지 정함

   - Content-Length : 메시지 바디 길이를 나타냄

   - Content-Type : 메시지 바디에 들어있는 컨텐츠 종류를 나타냄

   - Transfer-Encoding : 메시지 바디가 HTTP 전송을 쉽게 하게 도와주는 인코딩
                      방법을 보여줌


② 요청 헤더
   - Accept : 클라이언트가 어떤 종류의 내용을 수락할 것인지 서버에게 알림

   - Accept-Encoding : 클라이언트가 어떤 종류의 인코딩된 문서를 받아들일지
         서버에게 알림

   - Authorization : HTTP 인증 형태에서 사용자의 식별 정보를 서버에게 보낼 때
              사용
   - Cookie : 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할

   - Host : 요청된 URL에 나타난 호스트명을 상세하게 나타낼 때 사용

   - If-Modified-Since : 브라우저가 마지막으로 요청 자료를 받은 시간

   - If-None-Match : entity tag를 지정하기 위해 사용. entity tag는 메시지 바디의
                 내용을 식별해주는 역할을 함
  
   - Referer : 현재 요청이 처음 시작된 곳의 URL

   - User-Agent : 요청을 하는 브라우저에 대한 정보


③ 응답 헤더
   - Cache-Control : 캐시에 대한 지시를 브라우저에게 전달하는 역할

   - Etag : entity tag를 나타낼 때 사용

   - Expires : 요청한 자원에 대해 Expires 시간까지 클라이언트의 하드에 저장된
       복사본 내용을 사용.
   - Location : 재전송하는 응답에서 목적지를 나타내는데 쓰임.

   - Pragma : 브라우저에게 캐싱 지시(no-cache)를 보내기 위해 사용

   - Server : 사용하고 있는 웹서버의 소프트웨어에 대한 정보 제공

   - Set-Cookie : 쿠키를 생성하고 브라우저에 전송할 때 사용

   - WWW-Authenticate : 401 상태 코드와 함께 응답할 때 사용

0x07. 쿠키
- 웹서버와 지속적인 통신하는데 필요한 정보를 저장하는데 저장된 
  정보를 쿠키라 함.

①  Set-Cooke 헤더
   - Expires : 쿠키의 유효기간
   - domain : 쿠키를 사용할 수 있는 도메인
   - path ; 쿠키가 사용할 수 있는 URL 경로
   - secure : 이 속성이 설정되면 쿠키는 HTTPS 요청으로만 전송
   - HttpOnly : 클라이언트 쪽의 자바스크립트로 직접 접근 불가
                    모든 브라우저가 이 제한 기능을 지원하지는 않음.


'- Web Hacking > 1. 기초 다지기' 카테고리의 다른 글

인코딩 스키마  (0) 2010.01.13
HTTP 프로토콜(3)  (1) 2010.01.12
HTTP 프로토콜(1)  (0) 2010.01.12
Posted by wooga
이전버튼 1 2 3 4 5 6 이전버튼