May 12, 2019

WebGoat write up(Cross-Site Request Forgeries 4 Post a review on someone else’s behalf)

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

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

(4) Post a review on someone else’s behalf
(4) 타인을 대신하여 리뷰 등록하기.

The page below simulates a comment/review page. The difference here is that you have to initiate the submission elsewhere as you might with a CSRF attack and like the previous exercise. It’s easier than you think. In most cases, the trickier part is finding somewhere that you want to execute the CSRF attack. The classic example is account/wire transfers in someone’s bank account.

아래는 댓글을 통한 리뷰 페이지를 시뮬레이션 하는 애플리케이션이다. 다만 이전 챌린지에서와 마찬가지로 다른 위치에서 요청을 제출해야 한다. 생각보다 쉬울 수 있다. CSRF 공격에서 까다로운 부분은 공격 대상으로 삼을 표적을 찾는 것이다. 이 공격의 고전적인의 예시로는 타인 계좌에서 자금을 이체하는 것이 있다.

But we’re keeping it simple here. In this case, you just need to trigger a review submission on behalf of the currently logged in user.

하지만 여기서는 공격 원리를 간단한 수준에서만 다루고 있다. 당신은 현재 계정을 이용하여 별도의 위치에서 리뷰를 제출하면 된다.

the clue of WebGoat write up(Cross-Site Request Forgeries 4 Post a review on someone else’s behalf)

When sending e-mail, you can switch to HTML format and configure the contents as shown above. One thing to note is that you should include the "type='hidden'" attribute to hide its appearance and pre-populate the "value" attribute with the content you want to send. Then, when the victim sees it, the part that writing area cannot be seen but the button is visible.

이메일 전송 시 HTML 형식으로 전환하여 위 그림처럼 내용을 구성하면 된다. 주의할 사항은, "type='hidden'" 어트리뷰트를 포함하여 그 모습을 숨기고 "value" 어트리뷰트에 전송할 내용을 미리 채워놓는다는 점이다. 그러면 희생자가 보았을 때 글자 입력 부분은 보이지 않고 버튼만 보이게 된다.

the result of WebGoat write up(Cross-Site Request Forgeries 4 Post a review on someone else’s behalf)