본문 바로가기

Normaltic 웹해킹 취업반

1주차

1. 웹서버 구조(3 Tier Architecture)

1.WEB server

  • 정적 페이지 제공

2. WAS(Web App Server)

  • 동적 페이지 제공

3. DB(Data Base)

  • 데이터의 관리

 

사용자가 php를 WAS에 요청 --> WAS에서 DB로 데이터를 요청 --> WAS에 Data 전달 --> WAS에서 페이지를 만들어서 WEB server에 전달 --> WEb server가 사용자에게 html을 보여줌

 

2. APM (Apache, Php, MySQL)셋팅

Virtual Box , Putty사용 

Normaltic님께서 제공해주신 가상머신을 활용하여 진행하였다.

 

putty로 ip와 포트를 지정한 뒤 Putty로 로그인 한 모습

  1. WEB_DEV 디렉토리로 이동
  2. sudo chown 으로 webApp디렉토리에 대한 권한을 변경
  3. WEB_DEV 디렉토리에 있는 dockerCMD파일을 백그라운드로 실행

APM 성공적으로 셋팅

  • MySQL은 https://ip주소:포트/phpmyadmin

3. Web Proxy Tool

웹 - Proxy - WAS

웹과 WAS에서 어떠한 요청을 하고 어떤 데이터를 전달했는지, 즉 파라미터를 볼 수 있어야 함.

따라서 Web Proxy Tool을 사용한다.

Burp Suite 사용

 

클라이언트가 test.php를 눌렀을 때 intercept한 결과

Burp Suite를 사용해서 어떤 파라미터가 오고 갔는지 살펴보자

 

WEB server와 WAS 간의 파라미터

Proxy탭에서 intercept한 Request를 Repeator로 보내 Request를 Send하면 위의 화면과 같이 Response가 출력된다.

 

먼저, Request를 살펴보자.

맨 윗 부분에 GET /test.php HTTP/1.1을 보면  [Method / Path / HTTP Version]으로 구성되어 있다.

 

[Method]에는 GET방식POST 방식이 있다.

GET 방식은 파일을 요청할 때 사용한다.

POST 방식은 파일을 요청함과 동시에 데이터도 요청할 때 사용한다.

ex)로그인 할 때 ID와 PW를 WAS에 전달할 때 POST 방식으로 요청한다.

 

[Path]는 요청한 파일이 있는 경로

 

[HTTP Version]

보통의 경우는 HTTP2.0을 사용하지만, Burp Suit은 HTTP1.1을 사용한다.

밑에 부분은 [헤더]로 클라이언트 정보를 포함한다. (host, 언어, browser 정보 등등...)

 

다음, Response를 살펴보자.

마찬가지로 HTTP/1.1 200 OK를 보면 [HTTP Version / Status code]로 구성되어 있다.

 

[Status code]

200 → OK

3xx → Redirect (다른 경로로 이동시킬 때)

4xx → 클라이언트 문제

       → 404 Not Found

5xx → Server 에러

'Normaltic 웹해킹 취업반' 카테고리의 다른 글

2주차 수업 (2)  (0) 2022.10.23
2주차 수업 (1)  (0) 2022.10.22