CTF Review

CTF Review

[ stack ] DiceCTF 2022 interview-opportunity

#1. 문제 살펴보기 #2. 문제 분석하기 main 함수가 main 이였는데 int __cdecl main(int argc, const char **argv, const char **envp) { char buf[10]; // [rsp+6h] [rbp-1Ah] BYREF const char **v5; // [rsp+10h] [rbp-10h] int v6; // [rsp+1Ch] [rbp-4h] v6 = argc; v5 = argv; env_setup(argc, argv, envp); printf( "Thank you for you interest in applying to DiceGang. We need great pwners like you to continue our traditions and com..

CTF Review

[ stack ] SECCON 2020 OnlineCTF pwarmup

보호되어 있는 글입니다.

CTF Review

[ Full ] 2020 Security Factorial Summer CTF

2020-08-05 18:00 ~ 2020-08-06 18:00 이번에 동아리 내부 CTF를 24시간동안 진행하였으며, 해당 CTF를 진행하는 동안 풀었던 문제에 대한 write up입니다. kernel 관련 문제를 풀려고 파일을 다운받다가 VMware가 고장이 나서 절반 이상의 exploit code가 증발해버렸습니다 ㅠ 망할 Unknown !!! # sanity check 선착순 2등이다 ㄲㅂ # S-seccomp seccomp라길래 system함수 막아뒀을 거같아서 execve호출했다. # lyrics 문제의 링크로 가면 웹사이트에 영어가사가 도배되어있는데 개발자도구(단축키 F12)로 웹페이지소스를 보면 태그들 사이에 한글자씩 무언가 적혀있다 다모으면 flag완성 # bonus * 바이너리에 fop..

CTF Review

[ stack ] SFctf2020 LuckyLand

* 동아리 내부 CTF입니다 glibc-2.23 #1. 문제 살펴보기 출제자는 나다. 이번에 들어온 신입 20학번들을 위하여 MISC 수준의 난이도로 출제했다. 기본적으로 MISC답게 잡기술을 하나 첨가했다. 보호기법을 확인해보면 GOT 를 찾을 수 없다고 발생하며 Packer부분에 UPX를 통해 패킹되었다고 확인된다. IDA를 통해 보아도 upx에 대한 언급이 있다. 아마 적어도 의지가 있다면 발견했을 것이다. #2. 문제 분석하기 upx에 대해 인터넷에 찾아보면 언패킹할 수 있는 정보는 쉽게 찾을 수 있다. 그렇게 언패킹하게 되면 모든 보호기법이 걸린 상태로 확인할 수 있다. 하지만 해당 문제에서는 보호기법을 우회할 정도의 수준이 아닌 정말 기본적인 byte overflow를 이용한 문제이다 언패킹 ..

CTF Review

[ stack ] Rooters CTF 2019 Secure ROP

glibc-2.27 #1. 문제 살펴보기 동적으로 라이브러리를 로드하지 않으며, 정적으로 함수들을 내부에 적어두지 않았다 Linux 내부의 syscall 을 이용하여 read와 write를 사용한다 다음으로 대놓고 보이는 BOF 취약점이다 아마 ROP를 이용하여 풀것같다 그리고 ROP 를 위한 gadget 을 찾아보자 pop_rdi 같은 가젯들이 없다 ! #2. 문제 분석하기 21.11.28 Dreamhack send_sig 문제를 풀다가 다시 왔다 일반적인 ROP와 달리 의도적으로 gadget을 남겨두지 않아 ROP를 하기에 충분한 gadget이 없을 경우 흐름조작이 힘들다 하지만 syscall gadget이 있다면 일반적인 ROPgadget보다 훨씬 더 편리하게 레지스터 값들을 조작할 수 있다 레지스..

CTF Review

[ heap ] Rooters CTF 2019 USER_ADMINISTRATION 미완

glibc-2.27 #1. 문제 살펴보기 더보기 unsigned __int64 createUser() { char **v0; // rbx char buf; // [rsp+0h] [rbp-40h] unsigned __int64 v3; // [rsp+28h] [rbp-18h] v3 = __readfsqword(0x28u); root = malloc(0x10uLL); printf("Enter age of user: "); __isoc99_scanf("%d", (char *)root + 8); printf("Enter username: "); read(0, &buf, 0x1FuLL); v0 = (char **)root; *v0 = strdup(&buf); return __read..

CTF Review

[ stack ] Rooters CTF 2019 baby_pwn

#1. 문제 살펴보기 #2. 문제 분석하기 int __cdecl main(int argc, const char **argv, const char **envp) { char buf; // [rsp+10h] [rbp-100h] setvbuf(_bss_start, 0LL, 2, 0LL); puts("What do you want me to echo back> "); read(0, &buf, 0x256uLL); puts(&buf); return 0; } ROP ! #3. Exploit Code from pwn import* p = process('./baby_pwn') # gadget puts_plt = 0x401030 puts_got = 0x404018 read_plt = 0x401040 po..

CTF Review

[ heap ] Backdoorctf 2019 babytcache

glibc-2.27 #1. 문제 살펴보기 GOT 값을 덮지 못하고 Stack 에 Canary 가 존재하며 Stack 에 쉘코드를 올려서 사용하지못함 + Data영역의 주소가 실행할 때마다 변하는 것을 확인할 수 있다. #2. 문제 분석하기 void __fastcall main(__int64 a1, char **a2, char **a3) { alarm(0x3Cu); setvbuf(stdout, 0LL, 2, 0LL); setvbuf(stdin, 0LL, 2, 0LL); setvbuf(stderr, 0LL, 2, 0LL); puts("----------BABYTCACHE----------"); while ( 1 ) { switch ( comment() ) { case 1: add(); break; case ..

SFjam
'CTF Review' 카테고리의 글 목록