본문 바로가기

분류 전체보기

2019 aeroctf remote_storage remote_storage 2019 aeroctf remote_storage이 바이너리는 staically linked이다.근데 문제는 binary와 libc의 symbol이 모두 strip되어 있다는 것이다.때문에 entry point에서부터 함수 이름들을 추측해가는 수밖에 없다.. 그렇게 함수를 따라가다 보면 switch 문을 만날 수 있다.업로드, 다운로드, 서명, 추가 등이 있는데 취약점은 서명에서 발생한다. 맨 밑에 printf를 보면 format string이 발생한다.sign_의 값은 signer와 new_hash가 xor연산되어 나온다. 이를 역연산하여sign_의 값을 포맷으로 맞추면 된다.위 취약점만으로도 익스가 가능하지만, 또다른 취약점이 발생한다. add 함수에서 스택 오버플로우가 일.. 더보기
2016 seccon jmper jmper 2016 seccon jmperㅎㅎ 재밌는 문제였다.취약점은 one byte overflow이며, 특별한 것은 setjmp, longjmp 함수를 이용하여 함수간 점프를 한다는 것이다. 위 setjmp 함수에서 jmpbuf에 레지스터 값을 저장하고 student_num 변수가 29를 넘게 되면 longjmp로 점프한다 !이 때, jmpbuf를 참조하여 저장된 eip로 이동하며, 그 때의 setjmp 함수의 리턴값은 114514가 된다. setjmp 했을 때의 jmpbuf의 상황을 보자.요롷게 되어있다. xxxxxxxxxx00009 typedef struct {00010 /** Saved return address */00011 uint32_t retaddr;00012 /** Saved stac.. 더보기
pwnable.tw de-aslr 보호되어 있는 글입니다. 더보기
pwnable.tw kidding 보호되어 있는 글입니다. 더보기
pwnable.kr + pwnable.tw unexploitable 보호되어 있는 글입니다. 더보기
pwnable.tw heap paradise 보호되어 있는 글입니다. 더보기
pwnable.tw mno2 보호되어 있는 글입니다. 더보기
pwnable.tw caov 보호되어 있는 글입니다. 더보기