system 썸네일형 리스트형 nullcon hackim 2019 tudutudututu tudutudututu nullcon hackim 2019 tudutudututu일단 todo의 구조는 위와 같다. 처음 만들 때 name의 공간을 strdup으로 할당하며나중에 desc를 쓸 때 malloc으로 desc의 공간을 할당한다. desc를 쓰는 함수의 윗부분이다.처음에 이미 할당한 desc가 존재하면 free를 시킨다. 근데 여기서 length가 0xFF 이상이라면 "Too big!"을 출력하고 return한다.원래 루틴이라면 free 후 malloc을 하여 다시 todo + 8에 저장시켜줘야 하지만 length가 0xFF 이상이라면 그러지 않는다.dangling pointer 상황이 발생한다. 이를 이용하여 모든 exploit을 진행할 수 있다. print_todo 함수에서 name과 de.. 더보기 nullcon hackim 2019 babypwn babypwn_nullcon nullcon hackim 2019 babypwn0x64 크기의 heap을 만든 후 50 크기만큼 heap에 입력을 받고 이를 출력해 준다. 위 printf 출력에서 FSB가 발생한다. 하지만 이 FSB 만으로는 leak밖에 할 수 없다. heap에서 일어나는 FSB기 때문이다. 또, dtor(fini) 부분을 조작하여 double stage FSB를 할 수 있을거라 생각했지만 FULL RELRO이기 때문에 이도 불가능했다. 위에 코인 수를 입력하고 그만큼 stack에 입력을 받는다. 하지만 stack의 주소를 알아낼 방법이 없어 이를 이용하여 FSB로 ret address를 조작할 수 없다. 근데 조건문 부분을 보면 (char)v6이다. 즉, ASCII 범위를 넘어가면 in.. 더보기 nullcon hackim 2019 hackim shop nullcon hackim 2019 hackim shop nullcon hackim 2019 hackim shop나한테는 정말 신기한 문제였다.처음에는 libc를 안줘서 출제진이 실수를 했나.. 생각했는데 libc version까지 구해야 하는 문제였다. 취약점은 명확하다.전역 변수에서 free후 값을 초기화를 안시키기 때문에 dangling pointer 상황이 발생하여 fastbin dup이 가능해진다. 처음에는 fastbin dup이라고 생각했는데 libc를 leak해보니 2.27이어서 tcache dup으로 풀었다. 별반 차이가 없긴 하지만.. fastbin dup으로 got의 주소를 leak하여 libc version을 알아낸 후 원래 하던 것처럼 익스를 하면 된다. xfrom pwn impor.. 더보기 2016 bctf memo memo 2016 bctf memorealloc을 0x80 ~ 0x400 범위로 해줄 수 있다. -> largebin 딱걸치네.. ㅎㅎ name 입력 부분에서 off by one 취약점 발생 -> next chunk size 수정 가능 흠.. 여기서 free가 없어서 생각에 잠겼는데 삽질좀 해보니 realloc함수 안에 _int_free가 들어 있어서 이걸로 bin control이 가능하더라. large chunk를 할당할 때 fastbin에 chunk가 존재하면 fastbin의 chunk가 smallbin으로 이동하는데 이때 inuse bit가 존재하지 않으면 unlink가 일어난 후 consolidate를 해 smallbin으로 이동한다. xxxxxxxxxx else { idx = largebin_i.. 더보기 2019 codegate preliminary 풀이 보고서 1등 차이로 본선에 못갈 줄 알았는데 운좋게 본선으로 올라가게 됐네요. 2달이나 남았으니 해킹 > 학업순으로 열심히 달려야겠습니다.. 더보기 2014 hitcon sktof sktof 2014 hitcon sktof1번메뉴 size 자유 malloc2번메뉴 무한 write3번메뉴 index 거의 자유 free 이 문제는 unsafe_unlink로 풀긴 했지만 여러가지 방법으로 풀 수 있을 것 같다.취약점들이 워낙 방대하기 때문에.. 나는 먼저 unosrtedbin range heap A, B 2개를 선언한 후 A에서 overflow를 일으켜 fake chunk를 만들고 B의 prev_size, size를 조작해서 unsafe_unlink를 일으켰다. 그 후 free_got를 puts_got로 overwrite하여 libc leak, strlen_got를 system_libc로 overwrite하여 shell을 땃다. 근데 github에서 받았을 때 libc가 없었어서 이렇게.. 더보기 pwnable.kr crypto1 보호되어 있는 글입니다. 더보기 2017 rctf aircraft aircraft 2017 rctf aircraft취약점은 쉽지만 익스플로잇이 너무 길다.. 중간중간에 짜다가 까먹어서 머리가 터질뻔했다. 이런 힙문제는 노트에 적어가면서 해야하나.. 이 바이너리에서 내가 찾은 취약점은 총 세개이다. uaffastbin dupout of bound 처음에 oob로 풀려고 했는데 free후 next chunk에 생기는 prev size에 접근할 때 세폴이 떠서 이 방법으로는 익스를 못했다.. UAF위 구문에 의해서 UAF를 다룰 수 있다.어떤 airport로 옮겨갔는지 출력해준다. plain chunk size는 0x48이므로 이를 free한 후 airport를 0x48만큼 할당하여 free_func(pie)를 leak할 수 있다. 동일한 방법으로 heap도 leak이 가능.. 더보기 이전 1 ··· 7 8 9 10 11 12 13 ··· 16 다음