분류 전체보기
-
-
Christmas CTF 2017 BitcoinGalleryPwnable/CTF 2018. 1. 18. 23:09
add title입력부분에서 stack에 입력을하고 마지막에 널값을 넣지않은채 strcpy함수를 호출하기때문에 내가 title에 입력한 버퍼뒤쪽 스택에있는 주소들을 릭 할수있다. free를 시킬때 unlink를 하고 free를 시킬때 이전 청크 story를 free시키고 NULL로 채우지 않기때문에 fastbin dup 취약점이 생기고, modify size 부분에서 realloc를 하는데 size 1보다 작은값을 막지 않기때문에 fastbin dup취약점이 이 부분에도 생긴다. title입력부분에 fake prevsize (0), fake size(0x31)을 적고 fastbin dup를 이용하여서 fd를 그쪽 주소로 넘긴다음 그 주소에있는 story포인터가 가르키는 주소를 스택 주소로 바꿔서 라이브러..
-
-
Codeblue 2017 simple memo padPwnable/CTF 2018. 1. 17. 23:21
return to dl-resolve 기법 공부를 다 하지 않고 풀어버렷다 .. 대충 원리정도만 공부를 하고 find 명령어로 strtab주소를 가지고있는곳을 찾고그곳에 delete구문중 unlink가 있으니 delete를 이용하여서 strtab을 부르고있는? 주소인 0x601858에 2번째 청크 주소를 넣고 123456LOAD:0000000000400418 ; ELF String TableLOAD:0000000000400418 byte_400418 db 0 ; DATA XREF: LOAD:0000000000400298↑oLOAD:0000000000400418 ; LOAD:00000000004002B0↑o ... LOAD:000000000040047B aStrcmp db 'strcmp',0 ; DATA ..
-
Codegate 2017 huntingPwnable/CTF 2018. 1. 17. 18:26
레이스컨디션 관련 문제를 찾다가 찾은 문제다. 시간이 조금 오래 걸렷는데 attack에서 1 2 3 만드는것을 그냥 rand % 4값으로 넣는걸로 잘못봐가지고 그걸로 실수를 하였고, sleep부분이 1초밖에 안 되서 p.recvuntil이런걸로 하나하나 받고 입력하고하니깐 1초안에 잘 못들어가는거에서 바로 send 2\n3\n하는 방식을 생각을 못해서 오래걸린것같다.. 1초안에 안들어가는것같은데 어떻게하지 생각을 하다가 결국 풀이를 보고 send로 바로 보내는방법이 있다는것을 알았다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051from pwn import *from ctypes im..
-
-
-
WITHCON 2017 bankPwnable/CTF 2018. 1. 15. 23:58
레이스 컨디션 공부가 제대로 되어있지않아 공부하느라 오래걸리고 노트북이 맛이 가서 A/S 받고 하느라 푸는데 너무 오래걸린것같다레이스컨디션 부분은 WRITE UP을 참고하였다. 몇몇 함수들을 thread로 실행시키는것을 보자마자 레이스 컨디션이라는것을 예상을 하였다. 메인 4번 메뉴인 withdraw를 보면 0x603228 +1 -= a1를 하는데 black을 사용할때 쓰이는 pthread_rwlock_t 변수에서 rdlock을 걸면서 race condition 취약점이 생긴다. http://xnuclear.tistory.com/6 위 링크에서 rdlock 설명 부분을보면 같은 rdlock상태에서 또 다른 쓰레드에서 rdlock을 걸어도 블록이 되지않는다는 것을 볼 수 있는데 그 것을 이용하여서 문제를 ..