전체 글

https://github.com/SFrlawoals/SF_Blog
Programming/C language

[ 10주차 ] 문자열

printf( )는 출력된 결과물의 길이값을 반환 puts 는 0 또는 -1 만 반환

CTF Review

[ stack ] Rooters CTF 2019 Secure ROP

glibc-2.27 #1. 문제 살펴보기 동적으로 라이브러리를 로드하지 않으며, 정적으로 함수들을 내부에 적어두지 않았다 Linux 내부의 syscall 을 이용하여 read와 write를 사용한다 다음으로 대놓고 보이는 BOF 취약점이다 아마 ROP를 이용하여 풀것같다 그리고 ROP 를 위한 gadget 을 찾아보자 pop_rdi 같은 가젯들이 없다 ! #2. 문제 분석하기 21.11.28 Dreamhack send_sig 문제를 풀다가 다시 왔다 일반적인 ROP와 달리 의도적으로 gadget을 남겨두지 않아 ROP를 하기에 충분한 gadget이 없을 경우 흐름조작이 힘들다 하지만 syscall gadget이 있다면 일반적인 ROPgadget보다 훨씬 더 편리하게 레지스터 값들을 조작할 수 있다 레지스..

CTF Review

[ heap ] Rooters CTF 2019 USER_ADMINISTRATION 미완

glibc-2.27 #1. 문제 살펴보기 더보기 unsigned __int64 createUser() { char **v0; // rbx char buf; // [rsp+0h] [rbp-40h] unsigned __int64 v3; // [rsp+28h] [rbp-18h] v3 = __readfsqword(0x28u); root = malloc(0x10uLL); printf("Enter age of user: "); __isoc99_scanf("%d", (char *)root + 8); printf("Enter username: "); read(0, &buf, 0x1FuLL); v0 = (char **)root; *v0 = strdup(&buf); return __read..

SFjam
Security Study