Wargame.kr

Web_600

tmitter


admin 계정으로 로그인하라고합니다.




문제를 확인 해 보니 회원가입과 로그인 버튼이 하나씩 있습니다.



회원가입 버튼을 눌러보니 가입 폼이 나타나네요.



아이디와 패스워드는 각각 4자리, 7자리 이상이어야 하며 힌트로는 admin으로 로그인 하라는 메시지 뿐입니다.

우리는 맨 처음 문제 페이지에서 확인했던 DB 구조를 이용하여 문제를 풀이 할 것입니다.

ID의 경우 32바이트까지만 DB에 저장을 합니다. mysql의 특성상 저장 한도를 넘으면 그 뒤를 잘라내고 저장을 하는데, 이러한 특성을 이용하여 admin 계정을 새로 만들 수 있습니다.



위와 같이 크롬의 개발자 도구에서 maxlength를 33으로 늘려주고 마지막에 한 문자를 붙여준다면 trim() 함수 적용으로 공백이 사라지고, 뒤의 a는 사라지면서 admin이라는 문자열만 남게 됩니다.



따라서 admin으로 로그인이 가능해지고 플래그를 획득 할 수 있습니다.





Gossip

- 사실 저는 위 WriteUp대로 풀지 않았습니다..

- 위 WriteUp은 구글링 해서 찾은 방법입니다.

- 저는 뭘 어떻게 했는지는 모르겠는데

- 하다 보니 admin으로 로그인이...

- 아직도 뭘 어떻게 했는지 모릅니다.

'Wargame > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] Web_650_web chatting  (0) 2016.05.23
[Wargame.kr] Web_600_SimpleBoard  (0) 2016.05.21
[Wargame.kr] Web_550_type confusion  (0) 2016.05.19
[Wargame.kr] Web_550_strcmp  (0) 2016.05.18
[Wargame.kr] Web_500_md5 password  (0) 2016.05.18

Wargame.kr

Web_500

DB is really GOOD



이번 문제는 게시판에 낚여 꽤 애먹었습니다... 삽질 끝에 플래그가......ㅠㅠ


DB에 관련된 문제같습니다. 시작하죠.




문제에 접속하면 다음과 같은 화면이 나오는데, admin을 입력해보니 admin에는 접근 할 수 없다고 나옵니다.

여기서 user 이름을 아무렇게나 작성해주면 게시판이 나오는데, 거기서 허우적대다가 몇시간을 날려먹었습니다... 문제 힌트대로 처음부터 Username을 파봤어야했는데..



입력 가능한 특수문자를 모두 넣어보던 중 / 를 입력했을 때 db connect 오류가 발생하는 것을 알 수 있었습니다.






위 두가지 오류로 알 수 있는 것은 /home/www/db_is_really_good/db/wkrm_username.db로 db가 생성된다는 것을 알 수 있습니다.

그렇다면 접근이 금지된 admin db를 확인 해 보면 뭔가 있을 것 같습니다.




바로 접근해서 db를 다운 받아줍시다.



DB오류에서 DB는 SQLite3라는 것을 알아냈고, SQLite browser를 이용하여 해당 db를 까보니 memo 테이블에 플래그에 관련된 메모가 하나 남아있었습니다.


해당 메모를 열어보면 flag를 뱉어내는 php 주소를 보여줍니다.

'Wargame > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] Web_500_md5_compare  (2) 2016.05.18
[Wargame.kr] Web_500_fly me to the moon  (0) 2016.05.17
[Wargame.kr] Web_450_login filtering  (0) 2016.05.17
[Wargame.kr] Web_450_WTF_CODE  (0) 2016.05.17
[Wargame.kr] Web_450_flee button  (0) 2016.05.16

+ Recent posts