[Wargame.kr]DB is really GOOD
DB is really GOOD 문제는 이름만 봐도 db와 관련된 문제라는 걸 알 수 있다.
BLUEMEMO SYSTEM이 있고 USER name을 치는 곳이 있다.
따로 join은 없고 login만 하면 되는데 main 페이지의 코드를 보면
function fschk(f){ | |
if(f.user_id.value=="admin"){ | |
alert("dont access with 'admin'"); | |
return false; | |
} | |
} |
이런식으로 user_id의 value가 admin이면 dont access with 'admin' 이 뜬다.
그리고 user_id 마다 memo list 들의 내용이 바뀐다.
여러가지를 넣어봤는데 .는 _가 되고, / 를 넣자 Fatal error가 뜬다.
Fatal error 에서 SQLite3->open('./db/wkrm_/.db') 부분을 보면 왠지 디렉토리같고 .db는 database 파일 확장자명 같다.
그래서 url 부분에 http://wargame.kr:8080/db_is_really_good/db/wkrm_admin/.db 를 치게 되면 wkrm_admin.db 파일이 다운로드 된다.
db 파일을 간단하게 보여주는 프로그램이 있어서 그걸 썼다.
데이터베이스 구조도 함께 볼 수 있어서 좋은 것 같다.
테이블은 memo 밖에 없고, ip와 memo, m_time이 있는걸로 보아 아까 위에서 봤던 memo의 내용과 memo가 작성된 시간이 담겨있는 듯하다.
데이터베이스 구조 말고 데이터 보기 탭을 누르면 db안에 있는 데이터들을 볼 수 있고,
memo 의 Congratula... 부분을 누르게 되면 전체 내용을 오른쪽에서 확인할 수 있다.
hxd 로도 볼 수 있다.
저 php 파일을 url 에 추가해주면 flag가 뜬다.