m0nd2y(321)
-
Dreamhack - master_canary
보호되어 있는 글입니다.
2020.08.24 -
HACKCTF - Pwning
해당 nc에 접속하면 몇바이트를 입력 받을지 받은 다음, 해당하는 글자 수 만큼 입력을 받는 것을 볼 수 있습니다. 해당 부분을 ida로 확인해보면 취약한 부분이라고 나오는데 get_n 으로
2020.08.23 -
DreamHack - rev-basic-8
보호되어 있는 글입니다.
2020.08.17 -
HACKCTF - RTL_World
RTL을 활용해서 푸는 문제로 보이고, 파일하나를 주니 다운받아서 실행했습니다. 장문의 text형식 (case문) 의 문제 구성이군요. 3번과 4번을 보게되면 3번에서 sys함수주소를주고, 4번에서 binsh 주소를 줍니다. 12번줄 --> system주소 14번줄 --> /bin/sh 찾기 이렇게 두개의 함수를 얻으면 바로 exploit이 가능합니다. 취약점이 발생하는 부분은 5번을 누르게되면 입력받는 창이 나오는데 이 부분에서 bof가 일어나게됩니다. 익스플로잇코드는 dummy[0x8c] + sfp[0x4] + system주소 + dummy[0x4] + binsh주소 입니다. 초기에 돈을 많이 벌어둬야지 3,4번이 가능하므로 해당 코드도 추가하면 됩니다. 아래는 exploit코드입니다. 1234567..
2020.08.16 -
HACKCTF - g++ pwn
해당 gpwn프로그램을 실행하면 단순하게 입력을 받고 입력받은내용을 출력시켜주는 프로그램입니다. ida를 통해 함수를 봐보면 main함수에서 바로 vuln() 함수라고 알려주는데(취약한함수) 이 함수를 타고 들어가면 이럼 c++로 만들어진 코드를 볼 수 있습니다. 코드를 간략하게 이야기해보면 13번째줄에서 fgets를 사용하는데, 32바이트만큼만 받기떄문에 60바이트인 버퍼를 덮기는 턱없이 부족합니다. 그럼에 16, 18, 19번째줄은 해석해보면 "I" 라는 문자를 "you"라는 문자로 바꾸어주기 때문에 이부분을 이용하면 bof를 해서 ret변조가 가능할 것 같습니다. 즉 dummy[60] + sfp[4] + ret[4] 를 해주면 됩니다. ret주소는 위의 cat flag함수로 지정해줍니다. paylo..
2020.08.14 -
HACKCTF - Classic Cipher -2
해당 문제에서 주는 txt파일을 확인해봅니다. 필자인 저도 한번에 푼문제는 아니고, 검색하고 삽질하다가 일주일정도 다른문제랑 겸사겸사 해서 풀어보다가 드디어풀었습니다. 다음과 같은 텍스트가 있는데 예전 정보보호영재교육원에서 배웠던암호의 일종으로 key의 알파벳 순서를 정해주고, ciphertext를 key의 글자수만큼 나눠서이하는 푼제입니다. 아래 사진을 보면 풀이법은 이해 가실겁니다. 이렇게 풀이하면 flag 획득이 가능합니다 :)
2020.08.13