Wargame

    [Misc] Baseball Price & BF

    이번에는 쉬어가는 타임으로 misc 정말 쉬운 문제들을 풀어보겠습니다 👀 우선 Baseball Price 입니다. 주어진 nc 접속정보로 접속을 하면 간단한 수학문제가 나옵니다 너무 어려워요 사칙연산이 약한 저는 한참 머리가 활발한 저의 초등학생 사촌동생에게 물어보러갑니다 야구배트의 가격은 1.05이고 야구볼은 0.05이라고 합니다 똑똑한 사촌동생 허허 올바르게 입력한다면 FLAG를 줍니다~ FLAG = Flag is HackCTF{말랑말랑_두뇌교실} . BF라는 문제와 함께 이상한 기호들이 남발되어 있습니다 이걸 본 저는 뇌가 탈출하고 말았습니다. 찾아보니 BF는 BrainFuck이라는 언어의 줄임말이고 아무래도 Fuck이라는 단어가 흔히들 비속어로 사용되다 보니 BrainF*** 혹은 BF라는 단어로..

    [Pwnable] Yes or no

    오늘은 Yes or no 문제를 풀어보겠습니다 ~ 일단 .zip파일을 풀어보면 libc 파일과 64bit Elf File을 줍니다 우선 Mitigation부터 체크해주도록 하겠습니다. NX Bit만 Enabled 되어있고 Partial Relro로 설정이 되어있습니다 🧐! Partial Relro로 설정이 되어있으니 Got Overwrite가 가능해보입니다 물론 Got Overwrite로만으로 풀릴지는 모르겠지만 한번 IDA로 까봅시다 ~ 우선 Show me your number이라는 문장과 함께 s라는 변수에 입력을 받습니다 main코드를 보니 특정 조건을 만족시켜 s에 gets로 입력받게 하는것이 이 문제를 풀 수 있는 실마리가 될 거 같습니다! 그럼 GDB를 이용해서 v10의 값을 알아봅시다 🙌 g..

    [Crypto] Smooth CipherText

    암호화된 문장만 있고 다른 파일은 존재하지 않습니다! 사실 이 문제를 봤을때는 어떻게 풀어야될까 많이 고민을 했습니다 저는 많은 암호화 방식을 마주한것이 아니라 카이사르 암호 밖에 생각하지 못했습니다 하지만 카이사르 암호화는 아닌 비즈네르 암호화 방식이라고 합니다. ko.wikipedia.org/wiki/%EB%B9%84%EC%A6%88%EB%84%A4%EB%A5%B4_%EC%95%94%ED%98%B8 비즈네르 암호 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 비즈네르 암호(프랑스어: Vigenère 暗號)는 프랑스 외교관이었던 블레즈 드 비즈네르에 의하여 1586년에 발표된 암호이다. 외교관 ko.wikipedia.org - 참고한 사이트 플래그 ..

    [Crypto] Great Binary

    이번에는 crypto 문제입니다! 솔직히 이번 문제는 너무 쉬워서 그냥 워밍업 정도로 생각해주시면 감사하겠습니다! 우선 문제에서 주어지는 .zip 파일을 다운받겠습니다 . . . . 그럼 이렇게 BIN 형식의 숫자들이 나옵니다 그냥 심플하게 문자열로 바꿔주는 사이트를 찾아서 바꿔주기만 하면 됩니다 ! string-functions.com/binary-string.aspx Binary to String Converter | Translate Your Binary to Text Please note: any spaces or colons (:) in the binary string will be removed. Need to convert text to binary? Use Our Text to Binary..

    [Pwnable] BOF_PIE

    오늘은 BOF_PIE라는 문제를 풀어보겠습니다 ! 우선 mitigation 체크를 해봅시다. NX bit와 함께 PIE가 Enabled 되어 있네요 그래서 문제 이름이 BOF_PIE인가 봅니다 문제를 풀기 앞서 PIE에 대해 간단히 공부하여 봅시다. PIE (Position Independent Executable) 위치 독립 코드로 이루어진 실행 가능한 바이너리 (위치 독립 코드 : 실행할 때마다 매핑되는 주소가 어디든지에 상관없이 실행되는 파일) → 바이너리의 주소를 랜덤화하여 바이너리의 특정 주소의 값을 수정하는 것과 같은 공격을 방어한다. 이런 보호 기법이라고 합니다.. 제가 이해한 느낌대로 설명을 해보자면 Non-PIE 상태에서는 주소가 offset값으로 mapping 되어 나오지만 PIE상태에..

    [Pwnable] Offset

    이번에는 offset 문제입니다. 문제를 풀기 전에 offset에 대해 간략히 정리를 하겠습니다 offset이란? '어느 주소와 다른 주소와의 거리를 나타내는 값' 라고 되있습니다. 문제를 풀면서 offset에 대해 익혀보겠습니다 Mitigation을 체크를 해봤는데 오랜만에 보는 초록색 친구들이 있네요 굳이 안나와도 되는데....👀 무슨 Function을 부르고 싶은지를 묻고 입력을 받은 후 종료되는 Binary입니다. IDA로 열어보겠습니다 Which function would you like yo call? 이라는 문자열을 출력하고 gets로 S라는 변수에 입력을 받습니다 select_func라는 함수가 있습니다. strncpy로 문자열을 복사하는데 dest라는 변수는 0x2A만큼의 Buffer을 ..