stdout flag를 이용한 libc leak (Incomplete)
## 해킹캠프 pwnable 풀이를 보면서 정리. 출처 rninche01.tistory.com/entry/stdout-flag를-이용한-libc-leak ##
## 해킹캠프 pwnable 풀이를 보면서 정리. 출처 rninche01.tistory.com/entry/stdout-flag를-이용한-libc-leak ##
Python Format Function Vulnerability 해킹캠프에서 관련된 문제가 나와서 정리를 해보았다. 내용 출처 podalirius.net/en/articles/python-format-string-vulnerabilities/ geeksforgeeks.org/vulnerability-in-str-format-in...
내용 출처 uaf_overwrite 풀이에서 unsorted bin이 나오길래 정리. 내용 출처 lazenca.net/pages/viewpage.action?pageId=1148135 umbum.dev/386 cyber0946.tistory.com/101 wyv3rn.tistory.com/73 —> GOOD ...
UAF 드림핵 내용 정리. Use-After-Free 취약점은 메모리 참조에 사용한 포인터를 메모리 해제 후에 적절히 초기화하지 않거나, 해제한 메모리를 초기화하지 않고 다음 청크에 재할당해주면서 발생하는 취약점이다. 컴퓨터 과학에서, Dangling Pointer는 유효하지 않은 메모리 영역을 가리키는 포인터를 말한다. 메모리에 동적...
Bypass PIE 출처 Background: PIE ASLR이 적용되면 스택, 힙, 라이브러리의 주소가 고정되지 않아서 공격하기 어렵다. 하지만, main 함수의 주소는 매번 같다는 점을 이용해 고정된 주소의 코드 가젯을 이용한 ROP를 수행할 수 있었다. 따라서 PIE는 코드 영역의 주소로 랜덤화 하는 보호기법이다. ...
Canary Leak Canary ind2x.github.io/posts/stack_memory_protection/#sspstack-smashing-protector x86은 4바이트, x64는 8바이트의 카나리가 생성되는데, 카나리에는 첫 바이트에 null바이트가 포함되어 있어 실제로는 null+7바이트, null+3바이트 ...
Bypass FULLRELRO 내용 출처 learn.dreamhack.io/4#16 Partial RELRO는 GOT 영역은 쓰기가 가능하므로 GOT Overwrite가 가능하지만, FULL RELRO는 .data, .bss 영역을 제외한 나머지 영역에 랜덤화를 시킨다. 데이터 섹션 등 다이나믹 섹션에 쓰기 권한을 제거하고 읽...
PLT, GOT PLT, GOT Linux Exploitation & Mitigation Part 2 PLT(Procedure Linkage Table) 외부 라이브러리 함수를 사용할 수 있도록 주소를 연결해주는 테이블 GOT(Global Offset Table) PLT에서 호출하는 resolve...
Library 라이브러리는 컴퓨터 시스템에서 프로그램들이 함수나 변수를 공유해서 사용할 수 있게 한다. 대개의 프로그램은 서로 공통으로 사용하는 함수들이 많다. (printf, scanf, strlen, memcpy, malloc) C언어를 비롯하여 많은 컴파일 언어들은 자주 사용되는 함수들의 정의를 묶어서 하나의 라이브러리 파일로 만...
함수가 스택에서 인자를 가져오는 법 int main() { char buff[128]; printf("input string : "); fgets(buff, 112, stdin); printf(buff); } 코드에 아무런 문제가 없는 것 처럼 보이지만 만약 입력값을 %d, %s, %p 등으로 해준다면 이상한 값이 출력이 ...