그러니까 PWN
close
프로필 배경
프로필 로고

그러니까 PWN

  • 분류 전체보기 (100)
    • CTF (12)
    • Wargame (18)
      • Dreamhack (15)
      • pwnable.kr (3)
    • Computer Science (16)
      • Computer Architecture (1)
      • Operating System (7)
      • AI (2)
      • Network (5)
    • Computer Security (28)
      • System Hacking (10)
      • Side Channel Attack (7)
      • Industrial Security (4)
      • Vulnerabilities (5)
      • Digital Forensic (1)
    • Coding (5)
      • Algorithm (0)
      • Rust (4)
    • 후기 (5)
    • etc (15)
      • trouble shooting (4)
      • pruning (7)
  • 홈
  • 태그
  • 방명록
  • Github
[Stack] 메모리 구조 : 간단한 동적분석

[Stack] 메모리 구조 : 간단한 동적분석

메모리 구조를 찾아보면 Computer Architecture, Operating System에서 많이 다루는걸 볼 수 있다.CS에서 가장 기초적이고 중요한 부분이기도 하다. 바쁜 사람들을 위한 표 정리segment역할권한예시Code실행 가능한 코드가 저장된 영역읽기 실행main() 등의 함수 코드Data초기화된 전역 변수, 상수가 위치하는 영역읽기 쓰기 / 읽기초기화된 전역 변수, 전역 상수BSS초기화되지 않은 데이터가 위치하는 영역읽기 쓰기초기화되지 않은 전역 변수Heap실행중에 동적으로 사용되는 영역읽기 쓰기malloc(), calloc() 등으로 할당 받은 메모리Stack임시 변수가 저장되는 영역읽기 쓰기지역 변수, 함수의 인자 등* Stack의 경우 NX 보호기법이 없을 경우 실행 권한도 갖고 ..

  • format_list_bulleted Computer Science/Computer Architecture
  • · 2024. 6. 17.
  • textsms
Process API, 시스템콜을 알아보자

Process API, 시스템콜을 알아보자

서론 보기더보기들어가기 전, 이 게시물에서는 여러분들이 흔히 들어보신 부모 프로세스(parent process), 자식 프로세스(child process)가 언급됩니다. 빠른 정리를 위해 parent, child로 축약해 부르겠습니다. 단어에 혼동이 있을 수 있습니다. 해당 챕터에서는 프로세스를 만들고 제어하는 방법에 대해 다룬다. 코드 실습은 https://github.com/remzi-arpacidusseau/ostep-code/Get it right. Neither abstraction nor simplicity is a substitute for getting it right.Process 생성 및 제어UNIX 시스템에서 제공하는 다음 3가지 시스템 콜을 살펴볼 것이다.fork()exec()wai..

  • format_list_bulleted Computer Science/Operating System
  • · 2024. 6. 5.
  • textsms
프로세스의 추상화 과정 (The Abstraction: A Process)

프로세스의 추상화 과정 (The Abstraction: A Process)

프로세스를 구현하기 위해 수많은 추상화 과정들이 있다. 프로세스가 실행될 땐 무언가 읽거나 써야지주소 공간 : 프로세스가 처리할 수 있는 메모리레지스터 : 명령어를 읽거나 업데이트할 수 있는 저장공간 (i.e. 프로그램 카운터, 스택 포인터)입출력 정보 : 프로세스가 현재 열어놓은 파일 목록 프로세스도 상호작용을 해야한다 (Process API)아무런 상호작용을 하지 못하는 프로세스는 쓸 이유가 없지.Create : 사용자가 프로세스를 생성할 수 있어야 한다. 예시로 리눅스에서 특정 명령어를 입력했을 때 특정한 프로세스가 실행되어야 한다. 그것이 안 된다면 의미가 없는 명령어이다.Destroy : 프로세스에서 오류가 발생했을 때 사용자는 프로그램을 임의로 종료할 할 수 있어야 한다.Wait :실행이 중단..

  • format_list_bulleted Computer Science/Operating System
  • · 2024. 6. 5.
  • textsms
[보호기법] Stack Canary 다시보기

[보호기법] Stack Canary 다시보기

해당 글은 매우 카나리 보호기법에 익숙치 않은 사람들이 공부할 수 있는 방법을 기술했습니다.Buffer Overflow Attack을 통해 실행흐름을 조작하거나 데이터 변조, 유출이 가능하고 이를 막기 위한 방법 중 하나를 알아보겠습니다. 카나리가 적용되면 Buffer Overflow가 날 경우 Canary 값을 비교합니다. Canary도 종류가 여러개 있는데Null Canary0x000000000x00Terminator Canary0x00000aff00x00, 0x0a, 0xffRandom Canary4Byte (32-Bit), 8Byte (64-Bit) Random0x00으로 시작Random XOR CanaryRandom Canary와 동일 취약점을 가지지만 Canary 값을 읽어오는 과정이 더 복잡..

  • format_list_bulleted Computer Science/Operating System
  • · 2024. 5. 20.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
  • $ pwd; whoami
전체 카테고리
  • 분류 전체보기 (100)
    • CTF (12)
    • Wargame (18)
      • Dreamhack (15)
      • pwnable.kr (3)
    • Computer Science (16)
      • Computer Architecture (1)
      • Operating System (7)
      • AI (2)
      • Network (5)
    • Computer Security (28)
      • System Hacking (10)
      • Side Channel Attack (7)
      • Industrial Security (4)
      • Vulnerabilities (5)
      • Digital Forensic (1)
    • Coding (5)
      • Algorithm (0)
      • Rust (4)
    • 후기 (5)
    • etc (15)
      • trouble shooting (4)
      • pruning (7)
최근 글
인기 글
최근 댓글
태그
  • #linear cryptanalysis
  • #ctf
  • #Network
  • #web
  • #CPA
  • #SCA
  • #Pwnable
  • #Reversing
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바