목록분류 전체보기 (420)
외로운 Nova의 작업실
- OSI 7계층 구조 물리적 계층(physical layer) : 데이터를 물리 매체상으로 전송하는 역할을 담당하는 계층으로 전송을 위해 물리적 링크의 설정 유지 해제를 담당합니다. 데이터 단위는 비트입니다. 데이터 링크 계층(data link layer) : 물리 계층의 있는 그대로의 전송 서비를 신뢰할 수 있는 링크로 변환합니다. 원할한 데이터의 전송을 위한 흐름제어 기능 그리고 데이터 전송을 위한 오류제어 기능을 수행합니다. 논리적 연결제어를 담당하는 LLC또는 DLC와 장비간의 물리적인 접속을 담당하는 MAC의 두 sub 계층으로 나뉘어집니다. 데이터 단위는 프레임입니다. 네트워크 계층(network layer) : 송신자측에서 수신자 측까지 데이터를 안전하게 전달하기 위해서 논리적 링크를 설정..
안녕하세요. 웹해킹을 dreamhack에서 배우면서 실습했던 내용들을 정리해볼까합니다. 웹 해킹 첫번째 로드맵에서 stage 3의 session-basic 실습했던 내용을 정리하겠습니다. 답이 나와있으니 주의하시기바랍니다. - dreamhack 모의해킹 사용법 먼저 dreamhack에서 모의해킹을 어떻게 실습하는지 알아보겠습니다. 문제 정보란 밑에 접속 정보부분란에 처음에 들어가게되면 접속 정보보기라고 뜹니다. 그것을 눌러주면 dreamhack 서버에 실습을 위한 서버가 생성이되며 링크를 타고 들어가면 실습할 페이지를 볼 수 있습니다. 저는 http://host3.dreamhack.games:19599/ 을 들어가서 실습하게 되는 것입니다. 또한 문제 파일을 다운로드하여 이 서버가 어떻게 작성되었는지 알..
이 글은 저의 공부 흐름에 대해서 얘기해볼까합니다. 저의 인생은 그저 궁금한 것들을 풀어가는 것이 아닐까 생각합니다. 컴퓨터가 어떻게 동작하며 프로그램들이 어떻게 동작하는 지 그 과정에서 무슨 일들이 일어나는지 궁금합니다. 해킹을 공부하기에 앞서 컴퓨터에대해서 알아야합니다. 저는 컴퓨터에대해 알기위해 아래와 같은 것들을 먼저 공부했고, 2년정도 걸렸습니다. 현재 23살이지만 음악에 2년을 쏟았고 컴퓨터에 2년을 쏟았습니다ㅎㅎ. 음악은 돈이 안되고 궁금했던 것들이 풀렸기때문에 이제는 컴퓨터에대해 궁금했던 것들을 공부하며 취미로 음악하기로 합니다. 아래는 해킹을 공부하기에 앞서 컴퓨터에대해서 알기위한 지식 및 제가 공부했던 책들을 나열해 보겠습니다. 컴퓨터 구조 : 컴퓨터 구조와 원리(신종훈) 운영체제 : ..
안녕하세요. 어셈블리언어는 35장 이후로 부동소수점에 대한 내용과 ms-dos INT 21h 함수에 대해서 서술하고 있습니다. 이는 리버싱을 할때 크게 필수적이라고 생각되지 않아 어셈블리 공부를 종료하려합니다. 혹시라도 필요하다면 해당 내용을 다시 정리 및 공부해보겠습니다. 감사합니다.
- 블록 체인 온라인 금융 거래 정보를 블록으로 연결하여 p2p 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자들의 디지털 장비에 분산 저장 시켜 공동으로 관리하는 방식입니다. 탈중앙화 : 참여자들이 직접 거래기록을 검증하고 승인합니다. 투명성 : 거래기록이 생성되지마자 동싱 모든 참여자에게 전송되어 공유됩니다. 불변성 : 일단 연결된 블록은 수정하거나 삭제하기 어렵습니다. 가용성 : 한 참여자가 문제를 일으키더라도 계속해서 동작합니다. 분산 네트워크 : 동일한 거래내역이 분산 저장되어 관립됩니다. 암호기술 : ECDSA 전자서명 알고리즘과 SHA-2 해시함수로 무결성을 증명합니다. 이중거래 방지 : 중복지출에 의해 블록체인이 나눠지는 경우 다음 블록을 먼저 생성하여 한쪽의 길이가 더 긴 체인을 옳..
- 버퍼 오버플로우 버퍼 또는 데이터 저장 영역에 할당된 용량보다 더 많은 입력을 위치시켜 다른 정보를 변경하는 공격 기법입니다. 주로 strcpy 함수에서 일어나게됩니다. - 스택 버퍼 오버플로우 보통 SetUID가 설정된 루트 권한의 프로그램을 공격대상으로하여 버퍼 오버플로우를 이용해 반환주소를 변경함으로써 임의의 공격코드를 루트 권한으로 실행하도록 하는 방법입니다. 1988년 모리스 인터넷 웜에서 gets() 함수의 검사되지 않은 버퍼오버플로우가 처음 발견되었습니다. 버퍼 오버플로우의 공격의 핵심은 반환 코드에 셸의 주소를 넣어 셸로 제어를 넘기고 공격당한 프로그램의 권한으로 시스템의 다른 프로그램에 접근하는 것입니다. 이러한 코드를 셸코드라고 합니다. 공격 셸 코드를 버퍼에 저장합니다. 루트 권한..
- 서버 관리자의 업무 직접 root 계정으로 로그인하는 방식은 시스템에 침입하려는 악의적인 해커들의 타깃으로 위험하다 따라서 root로 직접 로그인 하는 것은 막아 놓고 일반 사용자로 로그인한 후 su(switch user) 명령어를 사용해 관리자 계정으로 변경하는 것이 좋습니다. 원격 접근권한 제거 : /etc/password 파일에서 /bin/bash와 같은 로그인 셸 삭제해야합니다 계정 사용기간 설정 : /etc/shadow 파일에서 사용기간 또는 만료일 설정해야합니다. 프로세스 관리 : ps, killl, sait, su 등을 이용한 프로세스 관리합니다. 메모리 관리 : free 명령어(메모리 사용현황 확인)로 메모리 관리합니다. 메일, 디스크 관리 : du(디스크 파일 사용량 확인) 명령어로 ..
- 리눅스(linux) 리눅스는 유닉스 타입의 운영체제로서 유닉스를 PC버전으로 개발하려 노력한 산물입니다. 리누즈 토발즈가 멀티태스킹을 구현하기위한 운영체제로서 최초의 리눅스 0.01버전을 개발했습니다. 이후 많은 전문 프로그래머들이 지원을 통해 리눅스는 완전한 운영체제로서 자리매김할 수 있게 되었습니다. 리눅스는 FSF의 GNU project로서 진행되고 있습니다. - 리눅스 파일시스템의 종류 및 특징 리눅스의 중요파일 시스템들은 ext, ext2, ext3, minix, nfs등이 있습니다. minix : 과거 미닉스에서 사용되었던 파일시스템으로 가장 오래되고 기본이 되는 파일시스템으로 30문자로 제한되고 파일시스템마다 최대 64mb성능 제한이 있습니다. ext2(second extended fil..
- UNIX의 구성 - UNIX의 파일 시스템 유닉스의 디렉터리는 트리 구조를 가지며 최상위 디렉터리는 루트입니다. 대부분의 UNIX 운영체제는 아래와 같은 시스템 디렉터리 구조를 가지며 각 디렐터리별로 사용용도 또한 유사합니다. / : 최상위 디렉터리입니다. /etc : 시스템의 환경 설정 및 주요 설정 파일을 담고습니다. /dev : 프린터나 터미널 같은 물리적인 장치를 다루기위한 특수 파일을 담고 있습니다. /usr/bin : 기본적으로 실행 가능한 파일을 담고 있습니다. /usr/include : c 언어 라이브러리 헤더 파일이 저장되는 디렉터리입니다. /usr/lib : 기본 프로그램의 모듈을 담고 있습니다. /usr/sbin : 시스템의 관리 명령어가 저장되는 디렉터리 입니다. /home : ..
- 윈도우 파일 시스템 FAT16 : 파일의 최소단위인 cluster(32KB)를 2^16개 만들수 있다. 따라서 총 용량은 2GB이다. 하지만 얼마 지나지않아 작은 용량으로 여겨지고 이를 해결한 것이 FAT32이다. FAT32 : 파일의 최소단위인 cluster(32KB)를 2^32개 만들 수 있다. 따라서 총 용량은 128TB 이다. 하지만, 접근제어를 설정할 수 없다는 큰 문제점이 있어서 보안과는 거리가 먼 파일 시스템이다. NTFS(new technology file system) : 개별 폴더와 사용권한을 설정할 수 있고, 각 파일과 폴더에 해당 계정만 접근하여 읽을 수 있게 암호화할 수 있다. 암호화된 폴더나 파일은 복사나 이동해도 암호화 속성을 잃지않는다. 또한, 특정 계정의 사람이 언제 파..