System/CTF
-
TUCTF2018 lisa WriteupSystem/CTF 2019. 1. 14. 02:37
[ Binary Info ]32Bit 바이너리이며, shared object으로 PIE가 적용되어 있다.PIE와 NX를 제외한 제약사항이 없기 때문에개인적으로 PIE를 처음 접한다면 입문용 문제로 괜찮다고 생각한다. ( 로컬서버에서는 같은 디렉터리에 password와 flag파일을 만들어줘야 합니다. ) 문제의 난이도는 PIE를 제대로 이해한 사람에게는 쉬웠을 것이고나처럼 PIE가 익숙치 않은 사람에게는 어렵게 느껴졌을 것이다.따라서, 무작정 풀다가 어려움을 느끼고 라이트업을 보러오신 분들은 [PIE 보호기법 정리] 를 먼저 보시고다시 한번 풀어보는 것을 추천드리고 싶다! [ Binary 실행 ]바이너리를 실행하면 주소 하나를 릭해준다.그리고 두 번의 입력을 받고 프로그램이 종료된다.대충 이렇게 흐름을 ..
-
2018 CCE Qual Writeup - note [pwn]System/CTF 2018. 10. 2. 05:16
[ Binary Info ]# Binary : 64Bit ELF# Full RELRO# No Canary# NX Enable# PIE Enable [ Binary Execute ]- 바이너리를 실행하면, 다른 note 문제들 처럼 추가/삭제/보기/실행 메뉴를 출력해준다.IDA로 정적분석을 해보자 [ 정적분석 ]- 바이너리의 main( )부분이며, Hidden Menu는 따로 존재하지 않는다. [ Delete_note( ) ]- add_note( )에서 malloc( )으로 동적할당을 하지만, Delete( )때 Free를 하지 않는다. 따라서, Use After Free를 이용한 문제는 아닌 것 같다. [ Execute_note( ) ]- 취약점은 Execute_note( )에서 발생한다.Execute_..
-
CTF Tools 정리System/CTF 2018. 9. 30. 04:45
[ One gadget ] Usage : one_gadget [libc_binary]libc에서 한번에 쉘을 따주는 위치의 Offset을 구해서 출력해준다.rax == NULL / [rsp+0x30] == NULL과 같은 제약조건들만 맞춰주면 된다. RET에 libc_base+oneshot_offset값을 덮어주면 쉘이 짠! [ XROP ] Usage : xrop -r [arch] -b [bit] [Binary] ARM, PPC, MIPS 등의 Gadget들을 찾아주는 툴이다.ELF에서의 ROP_gadget이라고 보면 된다. [ qemu ]Usage : ./qemu-arm-static -L [Library_Directory] [Binary]ARM바이너리를 ELF아키텍쳐에서 실행 가능하게 해주는 툴이다.c..