전체 글202 [침탐] 2장, 네트워크 계층의 헤더 기능 보안 장비 운영과 관련해 IP 헤더 구조는 TCP 헤더 구조와 더불어 중요하게 간주하는 헤더인 만큼 각각의 항목에 대해 집둥하도록 하자. IP 헤더 크기는 일반적으로 20 바이트 크기를 사용하지만 경우에 따라 IP 추가(IP Options) 항목을 이용해 21 바이트 이상으로 사용할 수도 있다. IP 헤더에서 제일 먼저 버전(Version) 항목을 볼 수 있다. IPv4 주소라면 4가 들어가고 IPv6 주소라면 6이 들어간다. 버전 항목 다음에 나오는 헤더 길이(Header Length) 항목에는 IP 헤더의 크기가 들어간다. 일반적으로 20 바이트 크기를 사용하기 때문에 20이 들어간다. 헤더 길이 항목 다음에 나오는 Tyoe of Service 항목에는 해당 패킷의 전송 우선 순위를 저장한다. ToS.. 2021. 3. 29. [침탐] 1장, TCP/IP 방식의 계층적 구조 1973년 빈튼 서프(Vinton Gray Cert)와 로버트 칸(Robert E. Kahn) 등이 비음성 통신을 구현하기 위한 설계도를 작성했다. 통신이란 전송과 제어로 이뤄졌다는 기본 원리에 따라 이들은 아래와 같은 계층적 구조를 제시했다. TCP 방식에 기반해 오류를 제어하기 위한 계층 IP 방식에 기반해 데이터를 전송하기 위한 계층 전송과 제어라는 통신의 기본 내용을 인터넷 공간에서 구현하기 위한 구조로 등장한 개념이 바로 TCP/IP 프로토콜(TCP/IP Protocol)이다. 프로토콜이란 호스트와 호스트 사이에서 사용하는 일종의 언어와 같은 개념이다. 인터넷 공간에서 표준으로 자리잡은 TCP/IP 프로토콜 역시도 인터넷 공간의 확장과 대역폭의 확대 그리고 운영 체제의 발전 등이 이어지면서 이러.. 2021. 3. 28. [Pwnable.kr] Toddler's Bottle_bof 문제에 들어가면 가장 먼저 만나는 창이다. 문제에서 우리에게 버퍼 오버플로우 문제라고 말하고 있다. nc를 통해 문제에 접근할 수 있다고 한다. 이제까지 풀었던 문제는 모두 ssh를 통하여 들어갔다. nc(Netcat): TCP/UDP 프로토콜로 연결된 네트워크 상에서 데이터를 읽고 쓸 수 있는 간단한 리눅스 유틸리티라고 한다. 네트워크에 연결된 서버 간의 포트 오픈을 확인할 수 있고, listen 모드로 자신이 서버가 되는 기능을 제공하기도 한다. nc 명령어로 접속했더니 다음과 같이 뜨는 것을 확인하였다. 오버플로우에 실패한 것 같다. bof.c 파일을 다운로드 받고 확인하였다. Buffer over flow : 프로그래머가 지정한 버퍼의 범위를 넘어서 입력 시 다른 데이터를 덮어쓸 수 있는 취약점이.. 2021. 3. 23. [Pwnable.kr] Toddler's Bottle_collision SeedUbuntu를 이용하여 문제를 풀 거다. 처음 문제에 들어갔을 때 보이는 모습이다. 비밀번호를 치고 해당 문제로 들어갔다. ls -a 명령을 이용해서 파일의 목록을 확인하였다. col에 setuid가 걸려있다. 먼저, cat 명령어를 이용하여 col.c 파일을 확인하였다. 전역변수로 선언된 hashcode라는 함수에 0x21DD09EC가 들어있다. check_password 함수에서는 인자로 p를 입력받는다. 그 후에 인자로 받은 p배열의 int 값(4bytes)을 인덱스를 이동하면서 5씩 더해준다. 그 값을 res에 저장한 후, 리턴한다. main 함수에서 인자로 받은 20bytes 값을 check_password에 전달한 후, check_password의 리턴값과 hashcode의 값이 같을 .. 2021. 3. 23. [블록체인] 4장, 하이퍼레저: 비즈니스용 블록체인 블록체인은 분산 네트워크에서 제3의 조정자 없이 작동한다. 그것은 이제 반드시 고려해야 할 구성요소가 됐으며, 차세대 금융 기술 및 거버넌스 모델을 형상화할 것이다. 그러나 비트코인과 이더리움 같이 암호화폐에 사용되는 블록체인들은 보상과 인센티브 제공에 중점을 둔다. 이 도전을 극복하기 위해 리눅스 재단과 선도 기업들이 협력해서 분산 원장 기반 프로젝트인 하이퍼레저(Hyperledger) 프로젝트를 게시했다. 하이퍼레저 개요 하이퍼레저는 분산 원장 기술을 가지고 핵심 산업 요구를 해결하는 데 중점을 둔 오픈소스 프로젝트다. 블록체인은 안전한 비즈니스 운영과 관리 기술의 열쇠로 채택되고 있다. 비트코인은 경직되고 정적인 특성 때문에 비즈니스 애플리케이션 목적으로 사용할 수 없다. 하이퍼레저는 전체 시스템에.. 2021. 3. 21. [Pwnable.kr] Toddler's Bottle_fd 처음 들어가면 보이는 문제이다. 리눅스에서 'ssh fd@pwnable.kr -p2222' 로 접속하면 무언가 뜰 거 같다. 비밀번호를 입력하라고 나오는데 비밀번호는 문제에서 'quest'라고 알려주었다. ls 명령어를 사용해서 현재 디렉토리에 있는 내용을 확인한다. fd, fd.c, flag 파일이 있는 것을 볼 수 있다. 먼저 cat 명령어를 사용해서 fd.c 파일을 확인하였다. fd.c를 자세히 보면 fd 파일을 실행한 후 첫 번째로 넘기는 인자에서 0x1234만큼 빼준다. atoi 함수는 문자열을 정수로 변환하는 역할의 함수이다. 그 다음으로는 read 함수를 이용하여 fd, buf, 32를 확인한 후 strcmp로 buf 값이 LETMEWIN이면 플래그를 출력하는 방식인 문제이다. 리눅스 파일 .. 2021. 3. 17. 이전 1 ··· 17 18 19 20 21 22 23 ··· 34 다음