
Challenge 5 시작!

Login 버튼과 Join 버튼이 있다.
Login 버튼을 누르면 아래와 같이 로그인 페이지로 이동하게 된다.

이번 문제는 이 페이지에서 로그인을 성공시키는 문제인 것 같다.
Join 버튼을 누르면 다음과 같이 오류 메시지가 출력된다.

Join 페이지에 접근하기 위해서는 어떤 조건이 필요한 것 같다.
일단 url 에서 mem 디렉터리에 접근해보았다.

이 페이지에서 join.php 에 접근해보니 다음과 같은 오류가 출력되었다.

하지만 일단 join.php 에 접근할 수 있기 때문에 소스코드를 보았다.

문자를 난독화해놓았다.
소스코드를 분석한 결과, 세 개의 단서를 찾을 수 있었다.
먼저 1번은 oldzombie 라는 단어를 의미한다.
2번은 oldzombie 라는 cookie 가 있는지 검사한다.
3번은 url에 mode=a 이라는 조건이 있는지 검사한다.
즉, olodzombie 라는 쿠키를 만들고 url 파라미터에 mode=1 라는 조건을 적어주면
join 페이지에 접근할 수 있다는 말이다.

join.php 에 접근하였다.
admin 이라는 계정을 생성하려 했지만 이미 존재하는 계정이라고 출력되었다.
이를 우회하는 방법으로는 공백을 주는 방법이 있다.
결국 DB에서는 기존의 id 자료형에 맞춰 비교할 것이기 때문에 공백을 주어도 admin으로 인식될 수 있다.
그래서 ' admin ' 과 같이 양쪽에 공백을 하나씩 주고 회원가입을 시도했다.

회원가입에 성공하였다.
이제 회원가입한 계정으로 로그인하면 된다.

성공!
'WarGame > webhacking.kr' 카테고리의 다른 글
| Challenge 8 (0) | 2020.02.14 |
|---|---|
| Challenge 7 (0) | 2020.02.14 |
| Challenge 3 (0) | 2020.01.31 |
| Challenge 2 (0) | 2020.01.31 |
| Challenge 1 (0) | 2020.01.31 |