본문으로 바로가기

[D+2] 웹 구조의 원리 (2)

category 해킹&보안/웹 해킹&보안 2017. 5. 1. 00:29
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. 웹 구조의 원리


4) HTTP Message(Client)


▣ Method


 버전 별 지원 Method

- HTTP/0.9 : GET

- HTTP/1.0 : GET, POST, HEAD

- HTTP/1.1 : GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT

☞ CONNECT -- keep-alive

-- close

클라이언트 <--x--> 서버 : 메시지를 주고 받으면 연결을 종료.

But. 받은 메시지 안에 내용이...

<http>

...

<img src=http:// ~~~~>

<img src=http:// ~~~~>

이라면 위의 img정보를 얻어오기 위해 해당 주소랑 다시 연결. img 정보를 받으면 연결이 끝나는데

이 때 다시 <http>로 거슬러 올라가서 다시 내려오면서 읽기 시작함. --> 시간이 오래걸림.

==> 이를 해결하기 위해 CONNECT로 keep-alive인지 close인지로 체크하여 거슬러올라가지 않게함.


▣ GET / POST

: 둘 다 요청메시지이며 sniffing에 취약함.


- GET 방식 : 볼 때 씀.

☞ DATA를 URL에 포함하여 전달 (주소창에 쓰는것임)

☞ 4096 바이트 (브라우저마다 다르긴함)

☞ 게시판 사용하지 않음 (못하는게 아니고 안하는 것임. 게시판 내용 contents가 길어지면 연결 도중 누락 가능성이 있어서..)

EX)

GET login.asp?id=guest&pass=guest

HOST:www.i2sec.co.kr


- POST 방식 : 쓸 때 씀.

☞ DATA를 Request Body(메시지 본문)에 포함시킴. (패킷으로 볼 수 있음)

☞ DATA 제한 없으나 TIMEOUT이 존재함. (default : 90초)

--> Data 크기에 제한이 없으니 시간이 오래 걸리면 데이터가 큰 건지 누락된건지 모르니까.

☞ 인증 정보와 같은 private data를 전송할 때 씀.

EX)

POST login.asp HTTP/1.1

HOST:www.i2sec.co.kr


id=guest; pass=guest



5) HTTP Message(Server)


- 200 OK : 상태코드

- Server : 무슨 서버를 쓰고 있는지 적혀 있음. --> 취약점! (보안상 fake로 쓰는 경우도 있음)

- Content-type : 서버에서 처리할 수 있는 언어


▣ Response 상태 정보

- 200 OK 

- 201 Create : PUT Method가 성공하면 뜬다. 고로 201이 뜨면 누군가가 해킹한 것임.

- 301 Moved permanently : 페이지의 이동

- 302 Found : 페이지의 이동

- 400 Bad Request : 요청이 잘못됐을 때.

- 403 Forbidden : 페이지는 존재하나 권한이 없음.

- 404 Not Found : 상태 정보에 대해서도 파악이 가능하니 요즘은 404를 띄우는 것으로 통일함.

- 500 Internal Server Error : DB에러 (SQL Injection이 가능)


6) 실습


▣ 브라우저를 이용하지 않고 웹 서버에 연결하기

- CMD : telnet [웹 서버 주소] [포트번호 : 80]

☞ 내용이 보이지 않으므로 메모장에서 작성

☞ GET / HTTP/1.1[엔터]

☞ HOST:[웹 서버 주소][엔터][엔터]  --->  엔터를 2번하는 이유?  공백라인과 메시지 본문은 빈칸으로 두기 위해!





i2sec 대구지점 23기 수료생.

'해킹&보안 > 웹 해킹&보안' 카테고리의 다른 글

[D+5] Encoding  (0) 2017.05.08
아스키코드  (0) 2017.05.07
[D+4] 웹 언어  (0) 2017.05.01
[D+3] 웹 프록시  (0) 2017.05.01
[D+1] 웹 구조의 원리 (1)  (2) 2017.04.27