본문 바로가기
SK Shieldus Rookies 19th/애플리케이션 보안

[SK shieldus Rookies 19기][애플리케이션 보안] - WebGoat, Burp Suite

by En_Geon 2024. 3. 24.

1. WebGoat 실행

C:\FullstackLAB\run.bat 실행

 

작업 관리자에 MySQL 서비스가 실행되고 있으면 실행할 때 오류가 발생할 수 있다.

작업 관리자를 실행해 MySQL을 종료하고 실행해야 한다.

 

 

1) Tomcat 서버 실행

이클립스에서 서버를 실행

 

화면 비율

 

  1. JavaEE 퍼스펙티브로 전환(옵션)
  2. 퍼스펙티브를 초기화 (옵션)
  3. Server 탭을 클릭, 등록된 서버 확인
  4. Tomcat을 선택, 실행할 서버를 선택
  5. 디버거 모드 또는 실행 모드로 서버 실행

 

실행 시 화면 비율이 사진과 같지 않다면 1번부터 진행하고, 사진과 같은 비율이라면 3번부터 하면 된다.

 

2) 서버 실행 확인

 

서버 실행 확인

 

 

3) index.html 추가

index.html이 없으면 로그인 후 404 오류 발생

 

이클립스 WebGoat\src\main\webapp\ 에서 오른쪽 클릭 후 New HTML File을 선택해서 index.html 추가

 

index.html 추가

 

 

파일 경로 확인

 

 

index.html

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<meta http-equiv="refresh" content="0; url=attack"></meta>
</head>
<body>
</body>
</html>

 

 

 

2. Kali 가상머신 프록시 설정

 Proxy는 중간, 대리, 중계

 

프록시는 클라이언트와 웹서버가 요청과 응답을 할 때 중간에서 중계해 주는 것이다.

 

  • 요청과 응답 내용을 모니터링 가능
  • 모니터링한 내용 기록(히스토리), 재생, 분석
  • 요청 데이터가 통과할 때 모니터링 하기 위해 일시적으로 멈추게 하는 기능을 Intercept라고 한다.

 

1) Burp Suite

 

Burp Suite

 

 

(1) Proxy listener 설정

Proxy > Proxy settings > Proxy listener 체크 확인

 

 

Proxy listener 확인

 

 

 

2) Firefox 브라우저 프록시 사용 설정

 

프록시 사용 설정

 

 

프록시 사용 설정

 

 

프록시 사용 설정

 

 

프록시 사용 설정

 

 

 

3. BurpSuite Intercept 사용

BurpSuite에서 Intercept on 설정 상태에서 Firefox를 이용해 WebGoat 사이트로 요청

 

1) Iintercept on

Intercept on

 

2) WebGoat 요청

  • 요청을 인터셉터 해서 어떻게 처리할 건지 물어봄

 

 

일반적으로 /WebGoat이라고 하면 WebGoat는 파일을 나타낸다.

 

 

  • Forward 클릭

 

/WebGoat/ 은 WebGoat이라는 디렉터리를 요청

 

  • Forward 클릭

 

/WebGoat/attack 반환한다. WebGoat 디렉터리에 attack 파일을 요청

 

 

4. HTTP History 탭을 통해 요청 / 응답 과정을 확인

http://host.py:8080/WebGoat으로 요청했을 때 리다이렉터 응답(http://host.pc:8080/WebGoat/로 재요청)받음

 

 

  1. http://host.pc:8080/WebGoat/으로 요청
  2. 디렉터리 리스팅 옵션 확인 후 기본 페이지 검색
  3. 기본 페이지(index.html)를 응답으로 반환
  4. index.html 파일 내용에 attack 페이지로 재요청이 포함되어 있음

 

1) index.html 확인

 

 

 

2) attack 파일의 내용을 응답으로 반환

 

 

 

주소를 한 번만 입력했는데 눈에 보이지 않게 여러 번 리다이렉션을 내부적으로 하고 있다. 눈으로 보면 볼 수 없지만 Proxy 도구를 이용해서 따라가면 볼 수 있다. 웹 애플리케이션은 엄청나게 많은 리다이렉션을 하는데 그것을 트레이싱 하기 위해서는 이러한 도구를 사용해야 한다.

 

사용하는 방법을 익히고 익숙해져야 한다.

댓글