목록분류 전체보기 (365)
보호되어 있는 글입니다.
보호되어 있는 글입니다.
void vuln(){ char buf[128]; puts("EXPLOIT:\n"); puts("Here we go, I'll be nice and read three inputs, and all three will be outputted with printf as its first paramter.\n"); puts("However, no overflows, I won't take more than 128 characters at a time. :pensive:\n"); puts("Give me your first input:"); fgets(buf, sizeof(buf), stdin); printf(buf); puts(""); puts("Nice, now give me your second input..
사진으로 남겨둔게 없어서 일단 코드부터 보겠음 그냥 연습문제라는데 ROP, FSB 둘다 해야함 void rop(){ char buf[0x40]; gets(buf); //here is the overflow vuln, rest is info puts(""); stkstrt(); stk(buf, 0x0, "(buf strt)"); for(int i = 0x1; i < 0x7; i++) stk(buf, i, ""); stk(buf, 0x7, "(buf end)"); stk(buf, 0x8, ""); stk(buf, 0x9, "(canary)"); stk(buf, 0xa, "(rop func base ptr)"); stk(buf, 0xb, "(rop func return ptr)"); stk(buf, 0xc, ..
보호되어 있는 글입니다.
1. ASLR 주소 공간 배열 무작위 ASLR은 데이터 영역만 무작위화 시킨다. 데이터 영역은 stack, heap, library가 있음 (바이너리 영역 무작위화는 PIE이다.) ASLR 끄기 터미널에서 해야 함 echo 0 > /proc/sys/kernel/randomize_va_space 2. Canary SFP바로 위에 랜덤 데이터가 생겨 변조되면 경고 발생함 SFP와 RET 접근을 어렵게 함 컴파일 옵션 -fno-stack-protector : canary를 끔 ***Stack Smashing Detected*** 3. PIE 바이너리 주소가 랜덤화 된다. 바이너리 주소가 offset을 가지고 있다. 실행 시 바뀐다. 컴파일 옵션 -fPIE -pie : PIE 끄기 4. NX stack, hea..
보호되어 있는 글입니다.
보호되어 있는 글입니다.