전체 글

3년안에 내집마련, 10년안에 서울 3급지 이내 내집마련을 목표로 하고 있음
· 학교수업
- semctl서 IPC_INFO 명령은 세마포어의 시스템 설정을 seminfo 구조체로 읽어옴 seminfo 구조체 struct seminfo{ int semmap; int semmni; int semmns; int semmnu; int semmsl; int semopm; int semume; int semusz; int semvmx; int semaem; } 리눅스의 XSI 세마포어 커널 파라미터 semmap 세마포어 정보를 저장하는 엔트리 맵 개수 semmni 시스템에서 최대로 만들 수 있는 세마포어 최대 세트 개수 semmns 시스템 내에 만들 수 있는 세마포어 최대 개수 semmnu 시스템에서 만들 수 있는 undo구조체 최대 개수 semmsl 한개 세마포어 세트내에 만들 수 있는 세마포어 개수..
· 학교수업
semget - 세마포어의 생성이나 기존의 생성된 세마포어의 IPC ID를 얻을 때 사용 - 구조 int semget(key_t key, int nsems, int semflg); - 설명 1. key_t key = 시스템에서 세마포어를 식별하는 키 번호(IPC_KEY) 2. int nsems = 세마포어 집합 내 세마포어 개수, 접근 제한하려는 세마포어 자원의 수 3. int semflg = 동작 옵션(IPC_CREATE, IPC_EXCL)결정 ※ IPC_CREATE : key를 이용하여 새로운 공유메모리 공간 할당 IPC_EXCL : IPC_CREATE와 함께 사용, IPC_CREATE와 함께사용해 만약 공유메모리 공간이 존재하지 않으면 새로 만들어주지만 공유메모리 공간을 사용중이라면 error를 리..
· 학교수업
세마포어 - 다익스트라(Dijkstra)가 고안한 상호배제의 개념으로 출발 - 하나의 동기화 및 락 메커니즘의 구현한 도구를 가리키는 의미 - 리눅스에서 제공하는 일반적인 락 메커니즘 종류 카운팅 세마포어 ㅇ 복수개의 자원 카운팅이 가능한 세마포어 ㅇ -3 = 3개의 프로세스 대기 이진 세마포어 ㅇ 1개의 자원 가운팅이 가능한 세마포어 ㅇ 0과 1로 이로만 표현 ㅇ 1 = 임계영역 진입 가능, 0 = 임계영역 진입 불가 뮤텍스 ㅇ독점적인 획득을 가능하게 하는 특수형태의 락 ㅇ 소유권이 있는 프로세스, Rock을 건 프로세스만 해제 가능 스핀락 ㅇ 문맥교환을 막기 위해 사용되는 매우 빠른 특수한 형태의 락 (문맥교환 : CPU가 필요한 다른 프로세스에게 프로세스를 사용할 수 있도록 해주는 상태, 이전 프로..
· 학교수업
GNS3 실습 - 준비과정 1. https://www.gns3.com/에 들어가 GNS3를 설치(나 같은 경우에는 학교에서 제공한 GNS 2.1.17버전 사용) GNS3 | The software that empowers network professionals www.gns3.com 2. 다운로드가 완료되면 설치를 실행하는데 다음과 같이 Run only legacy IOS on my computer를 선택한다. 3. hosting binding을 127.0.0.1로 설정 4. next를 누르고 Add on IOS router using a real IOS image(supported by Dynamips)를 선택 후 5. 이미지 파일을 구해온 다음 Idle-PC finder에서 구해온 이미지 파일 선택(..
· 학교수업
라우팅 - 패킷을 전송하기 위해 송신측에서 목적지까지의 경로를 정하고 정해진 경로를 따라 패킷을 전달하는 일련의 과정 - 네트워크 계층 주소(IP주소) 참조 - 라우팅 알고리즘 : 라우팅 테이블 설정 1. 정적 라우팅 알고리즘 : 관리자가 라우팅 테이블을 직접 설정 2. 동적 라우팅 알고리즘 : 네트워크 환경 변화에 따라 능동적으로 재구성 AS(Autonomous System) - 하나의 관리 도메인에 속해 있는 라우터들의 집합 - IGP(Interior Gateway Protocol) 1. AS 내에서 라우팅 정보 교환 2. RIP, OSPF가 IGP에 속한다. - EGP 1. AS간 라우팅 정보 교환 2. BGP가 EGP에 속함 라우팅 알고리즘 종류 1. 거리벡터 라우팅(DV, Distance-Vec..
sql injection - Web hacking 기법 중 하나로서 DB에 질의하는 과정에서 일반적인 값 외 악의적인 의도를 갖는 구문을 삽입하여 공격자가 원하는 SQL 쿼리문을 실행하는 기법 - Sql Injection의 피해가 커짐에 따라 입력값 검증, 저장프로시저를 이용하는 방식으로 sql injection을 막는다. 이제 sql injection의 첫번째 String injection을 풀어보려고 한다.(OS : kali linux) 1. 다음과 같이 로그인 후(webgoat / webgoat)을 들어간 후 LAB : SQL Injection에서 stage 1 : String SQL Injection을 클릭한다. 2. 문제를 해석하면 ' String SQL Injection을 이용하여 인증을 우회..
EAX - 가장 많이 쓰는 변수 - 더하기 빼기 등 사칙연산등에 주로 사용 - 함수의 리턴값 저장 EDX - 변수의 일종 - EAX와 마찬가지로 각종연산에 사용 - 리턴 값의 용도로 사용되지는 않음 ECX - 반복문에서 루프값 돌릴 때 i의 역할 수행 - 미리 루프값을 넣어놓음(for i=0; i
level 8에 접속을 해서 hint를 확인해 보면 shadow 파일 : 비밀번호 등 정보가 저장되어 있는 파일 -> shadow 파일이 파일 어딘가에 숨어있고 파일의 용량은 2700 이라는것을 알 수 있다. 이제 파일 크기 2700을 가지고 shadow 파일을 찾기 위해 find 명령어를 사용한다. -> find / -size 2700c 2> /dev/null 여기서 c는 byte를 의미한다. 다음과 같은 명령어를 입력하면 이렇게 4가지 파일이 나오는데 그 중에서 txt로 된 파일이 매우 의심스럽다. 그렇기에 /etc/rc.d 디렉터리에 들어가 found.txt 파일을 확인해 보기로 하였다. 확인 결과 shadow 형식의 파일을 찾을 수 있었다. shadow 파일에서 두번째는 일방향 해시함수가 되어 있..
level 7같은 경우는 문제 자체에 오류가 있기 때문에 제대로 된 문제풀이를 할 수가 없었다. 그래서 그냥 답만 적고 나가려 했으나 문제풀이는 한 번쯤 해봐야 겠다는 생각이 들어 문제풀이를 하려한다. 일단 cat hint 명령어를 입력하여 hint를 확인해본 결과 /bin/level7을 이용하면 무엇인가 나온다는 것을 알았으니 /bin 디렉터리로 들어가 level7이라는 파일을 실행해보자 level7을 실행한 결과 다음과 같이 패스워드를 입력하라고 나와있고 패스워드를 입력한 결과 아무일도 일어나지 않았다. 원래대로면 이렇게 나와야하지만 안나오는 사람이 대부분일 것이다. 이제 저 괴상한 부호만 해석을 하면 되는데 저 괴상한 부호는 모스부호이다.(- = 1, _ = 0) 이제 저 모스부호를 이진수로 바꾸면..
FTZ 5번에서 얻은 비밀번호(what the hell)을 가지고 level6에 접속한다. 이전까지 풀었던 것과는 다른 모습이라 당황스러웠다. ctrl+c를 누르면 원래와 같은 방법이 나온다. 여기서 ls를 입력하면 다음과 같이 나온다. password 파일이 눈에 들어온다. password 파일을 실행을 하면 permission denined가 뜬다. cat을 통해 password 파일을 열어보면 level7의 패스워드가 뜬다. level7의 비밀번호 : come together
level4에서 얻은 비밀번호(what is your name?)을 가지고 level5에 접속한다. 접속하고 힌트를 얻으면 다음과 같은 힌트를 얻을 수있다. 대충 해석해보면 /usr/bin에서 level5를 실행시키면 /tmp 디렉터리에서 level5.tmp라는 임시파일이 만들어진다는 소리이다. 이를 이용하여 level6의 권한을 얻으라고 하는거 보니 level5.tmp에 비밀번호가 있는 것 같다. level5라는 프로그램을 실행시키면 /tmp 디렉터리에 level5.tmp 파일이 생긴다고 하니 level5라는 프로그램을 실행시키고 /tmp 디렉터리로 가서 level5.tmp를 확인하면 된다. 실행을 시키고 /tmp 디렉터리에 갔는데 아무것도 없다.. level5.tmp는 임시파일이기 때문에 실행될때 만..
3번에서 얻은 비밀번호(suck my brain)을 가지고 level4를 풀어보자 로그인 후 hint를 확인하면 다음과 같은 내용을 얻었다. 일단 많이 당황스러웠지만 /etc/xinetd.d 디렉터리에 무엇인가 있는것 같아서 들어가보기로 했다. 들어가보니 다음과 같은 파일들이 존재했다. 아까 힌트에서 backdoor를 심어놓았다고 한거보면 backdoor파일과 무슨 연관이 있을것 같아 backdoor 파일을 실행하였더니 실행권한 없다고 빠꾸 먹는다. 그래서 cat을 이용하여 backdoor 파일을 열어보았다. backdoor 파일을 열어보니 다음과 같은 코드가 있었다. 먼말인지는 잘 모르겠지만 /home/level4/tmp로 들어가서 finger를 이용해 backdoor 파일을 원격으로 로그인 실패를 하..
3년안에 내집 마련
매일매일 성장하는 블로그