To comply with the rule, in this write up, some hints related to this challenge only will be mentioned.
룰을 준수하기 위해, 여기서는 챌린지와과 관련된 몇 가지 힌트만이 언급됩니다.
(7) CSRF and content-type
(7) CSRF와 content-type
In the previous section we saw how relying on the content-type is not a protection against CSRF. In this section we will look into another way we can perform a CSRF attack against a APIs which are not protected against CSRF.
우리는 이전 섹션에서, content-type에 의존하는 방식은 CSRF에 대한 보호대책이 될 수 없음을 확인하였다. 이번 섹션에서는 CSRF 공격으로부터 보호되지 않는 API가 이용된, 다른 방식의 CSRF 공격에 대해 알아볼 것이다.
In this assignment you need to achieve to POST the following JSON message to our endpoints:
이번 챌린지에서 당신은 아래의 JSON 메시지를 POST 방식으로 엔드포인트(서버)에 전송해야 한다.
POST /csrf/feedback/message HTTP/1.1
{
"name" : "WebGoat",
"email" : "webgoat@webgoat.org",
"content" : "WebGoat is the best!!"
}
More information can be found here
이와 관련된 정보는 여기서 확인할 수 있다.
http://pentestmonkey.net/blog/csrf-xml-post-request
Remember you need to make the call from another origin (WebWolf can help here) and you need to be logged in into WebGoat.
주의할 사항이 있는데, 당신은 WebGoat 밖의 영역에서 요청 메시지를 발생시켜야 한다는 점(WebWolf가 도움이 될 수 있음.)과 그리고 WebGoat에는 로그인 중인 상태여야 한다는 점이다.
(7) CSRF와 content-type
In the previous section we saw how relying on the content-type is not a protection against CSRF. In this section we will look into another way we can perform a CSRF attack against a APIs which are not protected against CSRF.
우리는 이전 섹션에서, content-type에 의존하는 방식은 CSRF에 대한 보호대책이 될 수 없음을 확인하였다. 이번 섹션에서는 CSRF 공격으로부터 보호되지 않는 API가 이용된, 다른 방식의 CSRF 공격에 대해 알아볼 것이다.
In this assignment you need to achieve to POST the following JSON message to our endpoints:
이번 챌린지에서 당신은 아래의 JSON 메시지를 POST 방식으로 엔드포인트(서버)에 전송해야 한다.
POST /csrf/feedback/message HTTP/1.1
{
"name" : "WebGoat",
"email" : "webgoat@webgoat.org",
"content" : "WebGoat is the best!!"
}
More information can be found here
이와 관련된 정보는 여기서 확인할 수 있다.
http://pentestmonkey.net/blog/csrf-xml-post-request
Remember you need to make the call from another origin (WebWolf can help here) and you need to be logged in into WebGoat.
주의할 사항이 있는데, 당신은 WebGoat 밖의 영역에서 요청 메시지를 발생시켜야 한다는 점(WebWolf가 도움이 될 수 있음.)과 그리고 WebGoat에는 로그인 중인 상태여야 한다는 점이다.
I used a commercial email for presentation. Add 'enctype="text/plain"' and insert JSON data in the "name" attribute part as above. Then, send it to the opponent, so you will see the "Connect" button. Clicking on it will generate a request message.
연출을 위해 상용 이메일을 사용하였다. 위와 같이 'enctype="text/plain"'을 추가하고 "name" 어트리뷰트 부분에는 JSON 데이터를 넣는다. 그리고 상대에게 보내면 "접속" 버튼이 보이게 되는데, 이를 클릭하면 요청 메시지가 발생한다.