Wargame/wargame.kr

<wargame.kr> DB is really GOOD

지우친구 웅이 2021. 10. 25. 23:57

DB is really GOOD

무슨 종류의 데이터베이스인지 묻는다. 유저 이름과 데이터베이스 사이에서 연관성을 찾아야 한다고 한다.

 

USER의 이름을 입력할 수 있는 입력 폼이 있다. 우선 'admin'으로 접근해 보았다.

"don't access with admin"이라는 알림이 뜬다. 'admin           '(어디서 봤는지 기억이 나진 않지만)으로 우회해 보았다.

하나의 채팅방이 나오지만, 문제 풀기위한 방향과는 거리가 먼 것 같다.

 

<풀이 방법>

특수 문자 '/'를 입력하면 데이터베이스 관련 오류 메시지를 보여준다.

개발자 관점에서 웹 사이트를 배포할 때는 이러한 오류 로그가 클라이언트에게는 보이지 않도록 처리해야 한다.

오류 로그를 살펴보면 데이터베이스를 열 수 없다고 한다. SQL Lite를 이용하여 로컬 데이터베이스를 관리하고, 각 채팅방에 따른 DB파일을 생성하여 기록하고 있다. 오류 메시지를 보면 DB의 경로 './db/wkrm_/.db'을 찾아볼 수 있다.

즉 DB의 경로는 './db/wkrm_{USER name 입력 값}.db'이다

 

다시 'admin'을 이용하여 './db/wkrm_admin.db'에 접속하면, 하나의 파일을 다운로드한다.

hxd로 열고 아래로 내려보면 "Congratulations! Here is flag!"라는 문구를 찾을 수 있다.

그 뒤로 하나의 경로가 나온다.(처음엔 이게 flag 값인 줄 알았다.)

'/dhkdndlswmdzltng.php'로 접속하면 인증 키 값을 얻을 수 있다.