WebGoat와 WebWolf 프로그램을 실행하려면 자바가 필요한데 최소 11버전이 필요하다. 자바 설치 및 환경 변수 설정은 구글링하면 금방 나오므로 생략하도록 하겠다. os는 윈도우가 아닌 칼리 리눅스를 사용할 것이다. 정상적으로 설치가 되었다면 터미널에 java
이 레슨은 브라우저와 웹 어플리케이션 사이의 데이터 전송에 대한 이해와 HTTP Proxy로 어떻게 요청/응답을 잡아내는 기초적인 방법에 대한 내용을 다룬다.사용자는 상단의 힌트 보기, HTTP 요청 파라미터, HTTP 요청 쿠키 그리고 자바 소스코드 보기와 같은 We
SQL Injection SQL 인젝션 공격은 클라이언트에서 서버에서 수행되는 SQL 쿼리문에 악의적인 데이터를 삽입하여 DB에 있는 데이터를 임의로 수정 및 추출하는 공격을 말한다. 1) Account Name 입력칸에 문자열 입력 후 Get Account In
Authentication Bypasses 1) 인증 우회 문제에서는 처음에 2016년도 인증 우회 사건 예시를 보여준다. 프록시를 사용하여 본인 인증 질문들에 대한 답변이 바디 데이터로 전송되는데, 이 파라미터들을 모두 지웠더니 정상적으로 인증되었다고 한다. 문
Insecure Direct Object References 1) 현재 로그인 된 계정 외에 다른 계정의 프로필을 보고, 이를 수정하면 되는 문제이다. View Profile 버튼을 클릭했을 때 보내는 패킷이다. 현재는 이 패킷에 대한 응답으로 500에러를 보내고
Cross Site Scripting 1) 단순히 같은 브라우저 내에서 여러 탭으로 접속했을 때, 각 탭마다 로그인 세션값이 같은지에 대한 문제이다. 같은 브라우저에서는 쿠키 값을 공유하므로 로그인 세션값이 모두 같으므로 yes라는 대답을 전송하면 통과할 수 있다.
Cross-Site Request Forgeries 1) 페이지에 존재하는 Submit Query 버튼을 외부에서 실행했을 때 서버에서 응답해주는 flag 값을 구하면 되는 문제이다. submit query 버튼을 클릭했을 때 서버로부터 위와 같은 응답을 받을 수
Bypass front-end restrictions 1) 타입이 다른 4개의 입력 필드에 설정된 입력값 제한을 우회하여 값을 설정한 후 요청을 보내면 되는 문제이다. 소스코드를 살펴보면 텍스트 입력 필드는 최대 길이 5자로 설정되어 있고, 선택 상자, 라디오 버
Admin lost password admin 계정의 패스워드를 찾아 로그인에 성공하면 flag 값을 얻을 수 있는 문제이다. 테스트로 무작위 패스워드 입력 후 로그인을 시도했다. 응답 패킷을 보니 실패 했다는 메시지가 응답으로 왔다. ![](https://im