이번에는 wargame.kr을 올클을 목표로 임해보려 합니다.

이번에 푼 문제는 DB is really GOOD입니다.

User 이름과 DB의 상관관계에 대해서 찾아보라고 힌트를 주고 있습니다.

 

BLUEMEMO SYSTEM이라는 문구와 함께 로그인을 위한 USER 이름 요청란이 있습니다.

USER란에 [이름]을 입력하면 POST 요청을 통해 로그인이 되는 것을 확인 할 수 있습니다.

위 그림에서 보시는 바와 같이 1234라는 ID로 메모를 작성할수 있습니다.

사람들이 그동안 입력해왔던 로그를 확인해 보았습니다.

 

ID를 바꿔서 진행해 보았습니다.

하단에 메모 내용이 달라지는 것을 확인 할 수 있었습니다.

 

Admin이 아닌 admin으로 시도 해본 결과 dont access with 'admin'이라는 alert창이 떴습니다.

이를 통해 admin이라는 계정은 접근 권한이 없을 뿐이지 존재는 한다라는 결론을 내리게 되었습니다.

그래서 admin계정으로 로그인 해보려 시도하였습니다.

 특수문자들이 그대로 출력되는 걸로 보아 필터링이 걸려 있다고 생각하였습니다.

필터링 걸리지 않는 특수문자가 뭐가 있을까 생각하며 다 집어 넣어 보았습니다.

그 결과 . -> _로 / -> fatal error을 뿜는 것을 확인해 내었습니다.

'db를 열수 없다.'라는 메세지와 함께 ./db/wlrm_/.db 경로의 존재를 확인 할수 있었습니다.

완전한 경로가 아니기 때문에 /를 이용해 실마리를 더 찾아 내어야 했습니다.

a/를 넣어 본 결과 wkrm_ 뒤에 입력값 그대로 값이 들어가는 것을 확인했습니다.

경로를 수정하여 ./db/wkrm_[입력값].db를 URL에 넣어보았습니다.

 

wkrm_admin 파일을 다운 받을 수 있었습니다.

이 db파일을 hxd에 떨구고 flag를 검색해보았습니다.

Here is flag!라는 말과 함께 ~~~.php파일을 확인 할 수 있었습니다.

.php인 것으로 보아 url 주소라고 생각하였습니다.

FLAG를 획득 할 수 있었습니다.

 

의식의 흐름 정리

사실... DB와 USER NAME의 상관관계라는 힌트에 주의 해준다면 XSS에서 시간을 크게 뺏기지 않을 것입니다.

'Challenge > Dreamhack' 카테고리의 다른 글

[Dreamhack] blind-command  (0) 2022.01.04
[wargame.kr] type confusion  (0) 2021.01.04
[wargame.kr] pyc decompile  (0) 2020.12.29
[wargame.kr] tmitter  (0) 2020.10.13
[wargame.kr] md5_compare  (0) 2020.10.13

+ Recent posts