2021 HackTheBox - arachnoid_heaven

CTF 풀지못한 문제 - pwn 2021. 12. 20. 12:12

요약 UAF를 이용하는 문제 분석 create_arachnoid ppvVar1 = (void **)malloc(0x10); pvVar2 = malloc(0x28); *ppvVar1 = pvVar2; pvVar2 = malloc(0x28); ppvVar1[1] = pvVar2; printf("%s","\nName: "); read(0,*ppvVar1,20); strcpy((char *)ppvVar1[1],defaultCode); lVar3 = (long)(int)arachnoidCount; pvVar2 = ppvVar1[1]; *(void **)(arachnoids + lVar3 * 0x80) = *ppvVar1; *(void **)(arachnoids + lVar3 * 0x80 + 8) = pvVar2;..

Article Thumbnail
2021 SECCON CTF - Kasu bof

CTF 풀지못한 문제 - pwn 2021. 12. 13. 17:46

요약 return to dl resolve pwntools - pwnlib.rop.ret2dlresolve 라이브러리 이용 분석 #include int main(void) { char buf[0x80]; gets(buf); return 0; } 코드는 이게 전부이다. gets를 이용하여 bof를 일으키고, return to dl resolve를 이용하는거 같다. 나는 return to dl resolve에 대한 개념을 전혀 몰랐었고, lazenca에서 설명하는 부분을 기반으로 코드를 작성하였지만 전혀 되지 않았다. from pwn import * from struct import * context.arch="x86_64" e = ELF('./chall') # get section address addr_..

Article Thumbnail
TSG 2021 - Coffee

CTF 풀지못한 문제 - pwn 2021. 10. 5. 19:10

libc_base까지 구하고 printf를 한번만 써서 이 printf한번에 모든것을 해결해야한다. puts_got를 main으로 덮던지 해서 다시 main을 실행시키고 다른 함수의(scanf) got를 덮으면 되는 문제였지만 그 이후 어떻게 할지 몰랐다 우선 여기까지는 내가 풀었던 Payload + 결과 from pwn import * #p = remote('34.146.101.4', 30002) p = process('./coffee') e = ELF('./coffee') libc = ELF('./libc.so.6') payload = "%29$p"+"AA" one_gadget=[0xe6c7e, 0xe6c81, 0xe6c84] p.sendline(payload) libc_start_main = int..

Article Thumbnail
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