rosieblue
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
[FSOP] _IO_FILE
Linux Exploitation/FSOP 2023. 7. 18. 22:04

_IO_FILE _IO_FILE이란, fopen 등의 함수를 통해서 반환하는 함수 포인터가 가리키는 구조체를 말한다. 예를 들어 우리는 파일을 열 때 아래와 같은 코드를 사용했다. FILE *fp=fopen("./test.txt",'r') 이때 fopen을 통해 반환되는 포인터가 _IO_FILE 구조체 포인터가 되는 것이다. /* The opaque type of streams. This is the definition used elsewhere. */ typedef struct _IO_FILE FILE; _IO_FILE 구조체가 FILE로 쓰이는 것을 알 수 있다. _IO_FILE이란 구조체는 파일의 정보를 담고 있는 구조체이다. fopen을 통해서 파일을 여므로 이때 파일의 정보를 담고 있는 구조체가..

article thumbnail
[드림핵(Dreamhack)] __environ
Linux Exploitation/Wargame 2023. 7. 15. 23:26

__environ __environ 변수는 라이브러리에 존재하는 변수로, 스택 주소를 가리킴 즉 __enviorn은 스택 내의 어떤 주소를 값으로 갖는데, 해당 주소는 환경변수 스트링들이 담긴 테이블이라고 할 수 있다. 테이블에 담긴 각각의 주소는 문자열을 담았다. 즉 __environ은 문자열 배열의 포인터라고 할 수 있는 것이다. 해당 문자열들은 환경 변수 정보이다. (따라서 환경 변수 정보들은 stack에 담겨져 있는 것도 덤으로 알아간다~!) 문제 코드 // Name: environ.c // Compile: gcc -o environ environ.c #include #include #include #include #include void sig_handle() { exit(0); } void i..