문제 설명을 보면 계정을 가지고 있는데 계정이 막혀 있어서 어떻게 필터링을 우회할 수 있는지 묻고 있다.
페이지에 들어가 보면 id와 password를 입력할 수 있는 입력창이 나오고, 페이지의 소스 확인도 할 수 있다.
소스코드의 위 부분에서 아이디가 guest 거나 blueh4g면 계정이 잠겼다고 출력하고, 저 두 계정이 아니라면 login에
성공하고, key를 출력한다.
소스코드의 아래 부분을 보면 guest와 blueh4g라는 계정의 password도 확인할 수 있다.
또한 위 소스코드 에서는 로그인을 위해 mysql을 사용한다.
mysql 에서는 대소문자를 구분하지않지만, php에서는 대소문자를 구분하게 되어
mysql 에서는 GUEST == guest 이지만 php 에서는 guest != GUEST이기 때문에
id : GUEST / pw : guest를 입력하면 flag를 확인할 수 있다.
알게된 점: mysql 에서는 대소문자 구분을 하지 않는다. 이로 인한 인증 관련 취약점이 발생할 수 있다.
'Security & Hacking > Wargame' 카테고리의 다른 글
[Wargame.kr] fly me to the moon (0) | 2019.08.27 |
---|---|
[Wargame.kr] WTF_CODE (0) | 2019.08.27 |
[Wargame.kr] QR CODE PUZZLE (0) | 2019.08.25 |
[Wargame.kr] flee button (0) | 2019.08.25 |
[Wargame.kr] already_got (0) | 2019.08.25 |