HackCTF(78)
-
HACKCTF - Simple_Overflow_ver_2
말그대로 간단한 오버플로우인가 하고 생각하고 들어갔습니다. 팁하나 추가로 드리면 64비트인지, 32비트인지 확인하고 시작하시면 좋습니다. "file [파일명]" 입력하면 확인하실 수 있습니다. 그리고 64비트를 32비트ida에서 열었을 경우 tab이 안먹습니다. 이렇게 발견해도 되긴 합니다 ㅎㅎ 그럼 다시 본론으로 들어갈게요 ~ 값을 하나 입력받고, y를 누르면 계속 반복, n을 누르면 끝나는 그런 간단한 구조네요. main함수를 보면 이때까지 보았던것 과는 다르게 약간 복잡해 보입니다. 13번째에서 값을 입력받고, 그 아래는 출력하는 명령어인데
2020.07.14 -
HACKCTF - BF
문제화면입니다. +-->[를 보니 난해해 보이는데, 예전에 이색프로그래밍언어 관련해서 강의를 들어본 적이 있는데 거기서 BrainFuck언어를 본 기억이 있어서 비교적 쉽게 풀이할 수 있었습니다 구글에서 검색해서 https://www.dcode.fr/brainfuck-language Brainfuck Language - Decoder, Translator, Interpreter Tool to decode/encode in Brainfuck. Brainf**k is a minimalist programmation language that takes its name from two words that refer to a kind of cerebral masturbation. www.dcode.fr 해당 사이..
2020.07.13 -
HACKCTF - Who am I?
eip를 터뜨려준다고 하는데, pwnable이나 reversing을 조금 해보았다면 바로 ret를 의미한다는 것을 쉽게 알 수 있을것입니다. 추가적으로 eip에 대해 궁금한 사항이 있으면 구글링을 하면 더욱 자세히 확인하실 수 있습니다..
2020.07.12 -
HACKCTF - Welcome_REV
해당 파일을 받아서 파일에 대해서 알아보면 32비트 파일인것을 확인합니다. 이를 실행시켜보면 실행하면 password!를 제공해달라고합니다. 인자로 값을 넣어주면 맞는지 아닌지 확인 후에 결과를 알려주는군요. 이를 ida로 분석해보면 8번쨰 줄에 check_password라는 함수가 있습니다. 이를 따라 들어가보면 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77..
2020.07.11 -
HACKCTF - x64 Buffer Overflow
문제 이름부터 전형적인 64bit BOF문제를 나타내는 것을 볼 수 있다. 실행은 입력한 값에 앞에 Hello 를 붙여주는 형식이다. NX가 켜져있으니 전에 했던 문제들처럼 shellcode를 직접 넣어서 푸는 문제형식은 아닐것이다. scanf 에서 입력제한을두지 않으니 기본적인 bof기법으로 RET를 덮으면 될듯한데 쉘의 위치를 찾으려 하니 마침 아래 함수가 보였다. 더미로 s[0x110]을 덮고 SFP[0x8] 추가해주고, 마지막 RET[0x8]
2020.07.10 -
HACKCTF - Home
해당 사이트를 들어가면 머리말 -->header 뜻하는거같고, 인증되지 않은 IP주소라고 하니 localhost로 들어가면 될듯합니다. 헤더에 X-forwarded-For 를 넣어서 로컬호스트로 주면 변조가 가능하니 초기에 패킷을 잡으면 다음과 같이 나오는데 여기에 X-Forwarded-For : 127.0.0.1을 추가하여 Forward를 눌러서 패킷을 전송하면 위와 같이 FLAG를 획득할 수 있습니다.
2020.07.09