목록전체 글 (151)
김승현

문제 쿠키와 세션으로 인증해서 로그인 서비스를 제공하는 사이트이고 admin 계정으로 로그인하면 flag를 얻을 수 있다고 한다. flag의 형식은 DH{}이다. dreamhack 문제는 코드 하나하나 보면서 어떤 역할을 하는지도 기록하면서 완전히 공부한 거 기록하는 느낌으로 쓰려고 합니다. 그러다 보니까 보기에는 여기 갔다가 저기 갔다가 되게 혼란스러울 수도 있습니다! 그리고 만약 읽으실 때 제가 찾아보긴 하지만 대부분의 코드 분석은 추측입니다..! 특히 ...인 것 같다와 같은 문장은 정말로 추측입니다. 풀이 사이트에 접속하면이런 식으로 home, about Login 메뉴와 Welcome!이라는 문장이 뜬다. Home과 About을 눌렀을 땐 아무 반응 없고 Login을 누르면 Login할 수 있는..

문제 개발자 도구(f12)의 Sources 탭을 이용해서 DH{} 형식의 flag를 찾으라는 문제이다. sources는 현재 페이지를 구성하는 웹 리소스들을 확인할 수 있는 그런 탭이다. 풀이 문제 파일을 다운 받으면 이런 파일들이 있다. assets 폴더에는 사진들이 있고, sample에는 html이 있다. css랑 관련된 파일은 넘어가고 js도 아마도 필요없을 것 같기 때문에 html파일들부터 읽어봤다. (.map파일은 링크와 관련된 파일들이 텍스트로 저장된 파일로 무시해도 된다.) about.html부터 확인해봤다. 접속하면 이런 페이지가 뜨는데 여기서 개발자 도구 - sources로 들어가보자. sources로 들어가면 이런 화면이 뜬다. dh형식의 flag를 찾기 위해서 전체검색 기능을 사용해보..

문제 이 모든 깃 문제가 끝나고 새로운 탈출을 할 시간이고 행운을 빈다고 한다고 한다. 풀이 대문자의 셸에 온 것을 환영한다고 하고 입력한 모든 걸 대문자로 바꾸는 것을 볼 수 있다. !나 ?처럼 특수문자나 숫자는 그대로 반환되는 걸 보니까 특수문자나 숫자를 이용해야 될 것 같다. $0은 명령행 인자로 셸스크립트의 이름을 담는 것입니다. 그러나 아무것도 없기 때문에 $0을 입력하면 >>이 $으로 변하면서 입력할 수 있는 상태가 된다. 나는 아래의 블로그를 참고했다. 리눅스 $0 - 제타위키 다음 문자열 포함... zetawiki.com 여기서 bash를 입력하면 이렇게 bandit33에 접속할 수 있다. ls를 써보면 uppershell이라는 ELF파일이 있길래 바로 실행시켜 봤더니 셸로 들어가졌다.. ..

문제 깃 리포지토리가 ssh://bandit31-git@localhost/home/bandit31-git/repo에 있다. 그리고 password는 유저 bandit31의 password와 동일하다고 한다. git 문제의 마지막 문제! 이거만 풀면 자고 일어나서 두 문제만 풀면 bandit은 끝이다! 풀이 오랜만에 ls -al로 시작한다. 지금까지와 다르게 ASCII text로 작성된 .gitconfig라는 파일이 있다. 읽어보면 이메일와 이름을 알려준다. 나중에 힌트가 될 것 같으니 기억해두자. mkdir로 /tmp/big이라는 디렉토리를 만들고 이동해줬다! ssh://bandit31-git@localhost:2220/home/bandit31-git/repo 문제와 달리 포트를 2220으로 지정하지 않..

문제 깃 리포지토리가 ssh://bandit30-git@localhost/home/bandit30-git/repo에 있다. 그리고 password는 유저 bandit30의 password와 동일하다고 한다. 저번이랑 내용이 동일하다. 이걸 풀고도 아직 git 문제가 하나 더 남아있는데 오늘은 그거까지만 깔끔하게 풀어야겠다. 풀이 파일을 생성할 수도 있기 때문에 /tmp/bang이라는 디렉토리를 만들고 들어가줬다. git clone ssh://bandit30-git@localhost:2220/home/bandit30-git/repo 문제와 달리 포트를 지정해주지 않으면 경고가 뜨면서 복사가 되지 않기 때문에 localhost:2220으로 입력해줬다. 이렇게 password까지 입력하면 성공적으로 복사가 된..