May 12, 2019

WebGoat write up(Without account)

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

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

Can you still vote?
투표하기.

The callenge of WebGoat write up(Without account)

The clue of WebGoat write up(Without account)

And there is a hint obtained through HTML source code, script, request message tampering, etc. As you can see in the above image, if you send a request message by writing "OPTIONS" in the HTTP method, you can see the methods allowed by the server side. The server supports "GET" and "HEAD" methods.

그리고 HTML 소스코드, 스크립트, 요청 메시지 변조 등을 통하여 한 가지 얻게 된 힌트가 있는데, 위 그림처럼 HTTP 메소드로 "OPTIONS"를 적어 요청 메시지를 전송하면 서버 측에서 허용하는 메소드들을 확인할 수 있다는 점이다. 서버는 "GET"과 "HEAD" 메소드를 지원하고 있다.

The result of WebGoat write up(Without account)

WebGoat write up(Admin password reset)

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

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

Try to reset the password for admin.
"admin" 계정의 패스워드를 초기화하라.

The callenge of WebGoat write up(Admin password reset)

$ git reset --hard f94■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
HEAD의 현재 위치는 f94■■■■입니다 First version of WebGoat Cloud website

$ ls
 Challenge_7.adoc   git   'MD5$MD5State.class' 
 PasswordResetLink.class   Challenge7.html   …

In order to check the changed contents of the file, restore the state of the commit to the past place that the commit that the key was removed. So, you will see that the "PasswordResetLink.class" file used at that time is created.

해당 파일의 변경된 내용을 확인하기 위해, 키가 지워졌다는 커밋보다 한칸 이전의 커밋의 상태로 복원한다. 그러면 당시 사용된 "PasswordResetLink.class" 파일이 생성되는 것을 볼 수 있다.

The result of WebGoat write up(Admin password reset)

WebGoat write up(Creating a new account)

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

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

Can you login as Tom? It may be a little harder than it was for Larry.
"tom" 계정으로 로그인하라. 이전의 "Larry"보다는 조금 더 어려울 수 있다.

the clue of WebGoat write up(Creating a new account)

It assumes that a blind SQL injection attack will take place. Remember the response if the condition is true or false. When the condition is true, the answer "already exists ~" comes. On the other hand, when the condition is false, the answer is "created ~".

블라인드 SQL 인젝션 공격이 통할 것이라고 가정하고, 조건이 참이 되는 경우와 거짓이 되는 경우의 응답을 기억한다. 조건이 참일 때 "already exists ~"라는 답변이 돌아온다. 반대로 조건이 거짓일 때는 "created ~"라는 답변이 돌아온다.

the result of WebGoat write up(Creating a new account)

WebGoat write up(Without password)

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

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

Can you login as Larry? "Larry"
계정으로 로그인하라.

the clue of WebGoat write up(Without password)

It is a challenge related to SQL injection. The simplest way to check this is to enter only single quotes(') or double quotes(") in every field you can enter. If this character is treated as a special character on the server side, you may get an error message like the above image, depending on the environment.

SQL 인젝션과 관련된 챌린지이다. 이를 확인할 수 있는 제일 간단한 방법은, 입력할 수 있는 모든 필드에 작은따옴표(')나 큰따옴표(")만을 입력해보는 것이다. 이것이 서버 측에서 특수문자로 처리되는 경우, 상황에 따라서 위 이미지와 같이 오류 메시지를 받을 수 있을 것이다.

the result of WebGoat write up(Without password)

WebGoat write up(Admin lost password)

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

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

the callenge of WebGoat write up(Admin lost password)

the clue of WebGoat write up(Admin lost password)

Download the picture. And when you open it with Notepad, you can see that the password is recorded in the middle of the bits of images as shown in the picture above. This is a challenge that requires more sensation than specific vulnerability inspection techniques.

이 그림을 다운로드 받는다. 그리고 메모장으로 열어보면 위 그림과 같이 이미지들의 비트들 중간에 패스워드가 기록되어 있는 것을 알 수 있다. 이는 특별한 취약점 점검 기술보다는 센스가 요구되는 챌린지에 해당한다.

the result of WebGoat write up(Admin lost password)

WebGoat write up(HTML tampering 2 Try it yourself)

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

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

(2) Try it yourself
In an online store you ordered a new TV, try to buy one or more TVs for a lower price.

(2) 도전.
어떤 온라인 매장에서 당신은 TV를 주문했다. 1개 이상의 TV를 주문하지만, 그 가격보다 저렴하게 구입해보라.

the clue of WebGoat write up(HTML tampering 2 Try it yourself)

When you check the source code using the developer tool, you can see the above part right below the order form.

개발자 도구를 이용하여 소스코드를 확인하다보면, 주문서 폼 바로 아래에서 위와 같은 부분을 확인할 수 있다.

the result of WebGoat write up(HTML tampering 2 Try it yourself)

WebGoat write up(Client side filtering 3 No need to pay)

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

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

(3) No need to pay if you know the code
(3) 코드의 메커니즘을 이해한다면 지불할 필요가 없다.

the clue of WebGoat write up(Client side filtering 3 No need to pay)

Among these two request messages, the GET method shows that there is a word "coupons" in the destination address to be sent, and the code is at the after.

이 두 개의 요청 메시지 중 GET 방식으로 전송된 것을 보면, 전송되는 목적지 주소에 "coupons"이란 단어가 있고 그 이후에 입력한 코드가 붙어서 전송되는 것을 확인할 수 있다.

the result of WebGoat write up(Client side filtering 3 No need to pay)