본문 바로가기

6. Wargame write-up

(12)
[HackCTF] Yes or no zip 파일을 다운로드 받아 파일 내부를 확인해보니 바이너리와 라이브러리 파일이 주어졌네요! 파일 정보를 확인해보면 64비트 바이너리이고, NX가 걸려있습니다. 파일을 실행시켜보면 숫자를 입력받습니다. 그럼 바이너리를 분석해볼게요! gdb로 분석하다가 IDA가 한눈에 보기 편해서 IDA로 보여드릴게요 ㅎㅎ 바로 이 구간이 입력받은 숫자를 비교해 분기문을 수행하는 곳입니다. 느낌 상 “That’s cool. Follow me”가 출력되게 해야할 것 같네요. 그럼 비교구문에서 어떠한 값을 비교하는지 살펴볼게요. 1234를 입력 값으로 주었더니 “1234”(0x4d2)와 rax인 9830400(0x960000)를 비교하네요! 그럼 처음에 주어야 할 입력 값은 9830400이 되겠습니다. 9830400을 입력 ..
[HackCTF] BOF_PIE HackCTF BOF_PIE 파일의 보호기법을 확인해보니 BOF_PIE 문제이름에 맞게 NX bit와 PIE가 걸려있네요! NX가 걸려있기 때문에 스택에 값을 써서 실행할 수 없고 PIE가 걸려있어 바이너리 영역을 랜덤하게 배치해줍니다. 파일을 실행시켜보면 어떤 함수의 주소를 알려주는 것 같고 “Nah…”라는 문구를 출력하고 끝나네요. IDA로 바이너리를 열어보면 main 함수에서 “welcome” 함수와 “puts” 함수를 호출해주는 것을 알 수 있습니다. puts함수는 “Nah…”만을 출력해주는 역할을 하니 welcome 함수를 분석해야겠네요. welcome 함수를 살펴보니 알려준 주소 값은 welcome 함수의 시작 주소 값인 것 같습니다. 함수명에서 “j0nghyun”을 확인할 수 있습니다. 해당..
[HackCTF] Hidden HackCTF 사이트의 Hidden 문제 Write Up 입니다😁 문제에 주어진 링크로 들어가면 위와 같은 화면을 확인할 수 있습니다. 5번 파일에 플래그가 있다고 언급하였지만, 실제로는 5번 파일이 보이지 않네요..! 그래서 우선 F12 개발자 도구로 내용을 확인해보았습니다. 1~4번 버튼이 get 방식으로 전달되고 있음을 알 수 있습니다. 실제로 1번 버튼을 클릭했을 때의 모습입니다. 위의 url 부분을 보시면 ?id=1 과 같이 get방식으로 전달되고 있는 걸 확인할 수 있네요. 1번 파일은 id=1, 2번 파일은 id=2 와 같은 형식이므로 5번 파일을 확인하기 위해서는 ?id=5를 url에 추가해주면 될 것이라고 추측해볼 수 있습니다. ?id=5 를 추가해주었더니 예상대로 플래그 값이 나타났네요!🎉
[SquareCTF(2017)] Needle in the haystack 풀이 보호되어 있는 글입니다.
[SquareCTF(2017)] Reading between the lines 풀이 보호되어 있는 글입니다.
[SquareCTF(2017)] 6yte 풀이 보호되어 있는 글입니다.
SquareCTF(2017) Stegasaurus 풀이 보호되어 있는 글입니다.
[SquareCTF(2017)] Sniffed Off the Wire 풀이 보호되어 있는 글입니다.