March 19, 2019

WebGoat write up(HTTP Proxies)

To comply with the rule, in this write up, some hints related to this challenge only will be mentioned.

룰을 준수하기 위해, 여기서는 챌린지와과 관련된 몇 가지 힌트만이 언급됩니다.

Intercept and modify a request
Set up the intercept as noted above and then submit the form/request below by clicking the submit button. When you request is intercepted (hits the breakpoint), modify it as follows.

요청(request) 가로채고 수정하기
위와 같이 인터셉트 설정을한 뒤 제출 버튼을 클릭하여 아래의 요청 메시지를 제출하라. 당신의 요청이 중단점(breakpoint)에 의해 가로채지면(intercept) 그것을 아래와 같이 변경하라.

  · Change the Method to GET
  · 통신 방식(method)를 GET으로 변경.

  · Add a header 'x-request-intercepted:true'
  · 헤더에 'x-request-intercepted:true' 추가.

  · Change the input value 'changeMe' to 'Requests are tampered easily' (without the single quotes)"changeMe"
  · 파라미터에 들어가는 값을 'Requests are tampered easily'로 변경(작은따옴표 제외).


WebGoat write-up(HTTP Proxies) process

Through this challenge, we should definitely remember the difference that the GET method differs from the POST method in that the parameter is entered into the URL part(start line), not the body part. So changing the value of "changeMe" in the body part is useless.

이번 퀴즈를 통해, GET 방식은 POST 방식과 다르게 파라미터가 바디에 들어가는 것이 아니라, 주소 부분에 들어간다는 차이점을 확실히 기억해야 한다. 그렇기에 바디 부분의 "changeMe"는 아무리 바꿔봐야 소용이 없을 것이다.

As a further convention, remember that in HTTP messages, special character "+" is used for whitespace in parameter values. After completing the modification, send the message to the server with the upper left "Forward" button. Then the Clear message appears as shown below.

추가로 관례적인 표현으로, HTTP 메시지에서 파라미터 값의 공백문자는 "+"값으로 입력해야하는 것도 기억하자. 수정 완료 후 좌상단 "Forward" 버튼으로 서버에 전송하면 아래처럼 클리어 메시지가 나타난다.

WebGoat write-up(HTTP Proxies) result