Recv 2

Socket Programming in C: Socket API functions

SocketSocket Address = TCP or UDP의 Port number + IP의 AddressSocket은 Transport Layer(4)와 Network Layer(3) 간 정보를 주고받기 위한 구멍이다. Header filesFileDescriptionsys/socket.h소켓 생성, 바인딩, 수신, 전송 등 소켓 함수들의 기본 정의 포함 (e.g., socket, bind, listen, accept)netinet/in.hAF_INET, AF_INET6, PF_INET, PF_INET6 등 표준 IP 주소와 TCP/UDP 포트 번호 정의sys/un.h동일 컴퓨터에서 실행되는 프로그램 간의 로컬 통신(UNIX 도메인 소켓 통신)을 위한 기능 제공arpa/inet.hIP 주소 변환 함수..

System Hacking: Tool Installation - 2

DreamHack의 System Hacking 로드맵을 기반으로 정리한 글입니다.Tool: pwntools파이썬으로 여러 개의 익스플로잇(취약점 공격) 스크립트를 작성하다 보면, 자주 사용하게 되는 함수들이 있다. 예를 들어 정수를 리틀 엔디언의 바이트 배열로 바꾸는 패킹 함수, 또는 그 역을 수행하는 언패킹 함수 등은 익스플로잇 과정에 거의 항상 필요하다. ※ 리틀 엔디언: 데이터를 메모리에 저장하거나 전송할 때, 값의 하위 바이트(작은 값의 바이트)를 먼저 저장하는 방식이다. 이런 함수들을 반복적으로 구현하는 것은 비효율적이다. 그래서 시스템 해커들은 이들을 집대성하여 pwntools라는 파이썬 모듈을 제작하였다. pwntools 덕분에 익스플로잇 제작은 전과 비교할 수 없을 정도로 간단하고, 쉬워졌..