반응형

Linux 23

Google Drive 파일 Linux 서버에서 다운로드

목표: Google Drive에 업로드 된 테라 단위의 파일을 서버에 받아야 하는 상황 Ubuntu 리눅스 서버 환경에서 Google Drive와의 동기화를 시도했으나, google-drive-ocamlfuse와 rclone을 사용하는 과정에서 여러 어려움이 있었습니다. 제 서버 환경은 GUI가 없어서, OAuth 인증 과정에서 리디렉션과 인증 코드 입력이 필요했습니다. google-drive-ocamlfuse의 경우, 서버 설정과 리디렉션 URI 문제가 복잡했으며, rclone도 비슷한 인증 과정을 요구했습니다. 아무튼, 정리하면 google-drive-ocamlfuse는 사용자 인증을 필요로 하는 OAuth 2.0을 기반으로 합니다. 이 방식은 일반적으로 사용자의 브라우저에서 Google 계정으로 로..

Linux Shell 구현 소스

/* * http://sosal.tistory.com/ * made by so_Sal */ 유닉스 프로그래밍 수업에서 (비록 리눅스를 사용하지만)쉘 프로그래밍 과제가 나와, 했던 과제를 한번 올려 봅니다.- Linux shell programming 쉘(shell) 구현에서 간단한 시그널처리와 fore / back-ground 프로세싱 처리 등에 관하여 구현해보았습니다. * SIGNAL 기능. - ctrl + c : SIGINT - ctrl + z : SIGTSPT - wait 상태의 부모프로세스는 SIGCHLD로 다시 run. - rs (restart) : 자식을 SIGCONT signal로 stop 상태를 run으로, 부모는 restart된 자식을 다시 waitpid로 기다림 * lss : ls - ..

Linux/Linux_Source 2011.05.23

/proc/pid/maps : 파일 프로세스의 메모리 공간

/* * http://sosal.tistory.com/ * made by so_Sal */ - 프로그램 안에서, Code segment, data segment, stack segment, heap segment, .bss 등을 살펴보겠습니다. "유닉스 계열은 모든 것이 파일, 프로세스 이다. " 라는 말을 무수히 들어보셨을 것입니다. 그렇다면 중요한 정보들이 어디에 파일로 저장되어 자리하고 있는지 알게된다면 쉽게 정보들을 찾을 수 있을 것 같습니다. proc : process의 줄임말이며, 이곳에 프로세스의 정보들이 저장됩니다. 사용자 프로세스의 정보들을 이곳에서 얻을 수 있으며 심지어 조작도 가능하다는 점에서 /proc 파일시스템은 굉장히 유용합니다. 위 그림에서 보는바와 같이 (pstree 명령어)..

Linux/Linux_technic 2011.01.29

SMP2010 binary hacking6 풀이

/* * http://sosal.tistory.com/ * made by so_Sal */ smp2010 중, 6번 바이너리 해킹문제 입니다. 문제파일입니다. 리눅스 서버에서 wget 툴을 사용하여 바이너리를 일단 받죠. (위 파일의 url임) wget http://sosal.tistory.com/attachment/cfile23.uf@167E83114CEC1DCD1F4271 받은 파일의 이름을 간단하게 바꾸고, file 명령어로 실행이 가능한 파일인지 확인 후 실행해봤습니다. Segmentation fault! 작렬하네요. argv를 넣어보니, 뭔가 인자를 발견했다 하고 바로 꺼지네요..? (일단 설치하고 문제 프로그램의 이름을 myfile로 수정하여 공격하겠습니다.) 매개변수를 여러개 넣어도 같은 결..

시스템 보안 10.패스워드 설정 문제

/* * http://sosal.tistory.com/ * made by so_Sal */ 관리중인 솔라리스 시스템에 계정을 가지고 있는 내부사용자들에게 패스워드를 자주 바꿀것을 공지하고 있으나 일부 사용자들이 잘 따라주지 않아서 부득이 강제로 패스워드를 바꿔야하는 제한기간을 설정해야 한다. yspace라는 계정의 패스워드 정책을 다음과 같이 강제 설정하시오. - 패스워드를 바꾼지 14일이 되면 무조건 새 패스워드로 바꿔야함. - 패스워드를 새로 바꾼지 만 하루가 지나기 전에는 패스워드를 변경할 수 없음. (단, yspace라는 계정에 대해서만 적용되어야 하고 타 계정에 영향을 주어서는 안됨) [passwd] 시스템 모든 계정은 /etc/passwd파일에 관련 항목을 가지고 있다. 이 파일에는 각 행마다..

시스템 보안 03.쉘 환경변수 변경 문제

/* * http://sosal.tistory.com/ * made by so_Sal */ 환경변수? / 네이버 백과사전 시스템의 속성을 기록하고 있는 변수라는 IT용어로, OS의 셸 등에 설정되어 있다. 변수의 이름과 의미는 미리 정해져 있기 때문에 환경변수를 읽으면 시스템의 설정을 어느 정도 알 수 있다. 사용자가 의도적으로 변환할 수 있는 환경변수도 많으며, 특히 웹 브라우저에서는 자신의 정체를 숨길 목적으로 브라우저 등의 변수를 변환하는 경우도 있다. 일단 접속해봅시다. ------- 사용자의 쉘환경변수들은 그 설정값에 따라 때로는 보안상의 문제점을 야기시키기도 한다. 현재의 bash 쉘환경변수 설정을 살펴보고 보안상 문제가 있는 부분을 바로 잡으시오. 단, 이문제에서는 현재 접속되어 있는 쉘에 ..

bof를 이용하여 함수포인터 공략하기

/* * http://sosal.tistory.com/ * made by so_Sal */ 함수포인터를 블로그에 정리한적이 없었네요.. 이번기회에 함수포인터도 정리할겸~~ 포스팅합니다. 배열의 이름이 배열이 메모리의 어떤 공간에 저장되어있는지를 가리키듯, 함수의 이름은 함수의 내용이 메모리 어디에 적재되었는지 포인터가 되어 가리키고 있는것입니다. 주로 윈도우에서 DLL을 로드할 때, 함수포인터를 사용합니다. #include int foo(){ //func1 foo() printf("foo - function1\n"); return 1; } int boo(){ //func2 boo() printf("boo - function2\n"); return 2; } int main(){ int value; int ..

Linux/Linux_technic 2010.11.06

Strcmp 부분 gdb로 암호 문자열 크랙하기

/* * http://sosal.tistory.com/ * made by so_Sal */ 가끔 프로그램이, 변수에 어떤 값이 들어가있는지 궁금할 때가 있다. 그때는 심볼이나 디버깅 정보를 삽입하여, gdb에서 watch 명령어나 직접적으로 메모리에 접근하여 정보를 가져오는방법, 레지스터를 확인하는 방법 등이 있는데, 이 포스팅에서 레지스터가 가리키는 문자열 변수에 어떤 값이 들어가있는지 GDB 디버깅 툴을 이용하여 확인하는 방법을 알아보려고 한다. (답) ANUG9LMRKOB^IS_SOSAL #include #include int main(){ char password[] = "MY_PASSWORD_IS_SOSAL"; char input[100] = ""; int length = strlen(passw..

Linux/Linux_technic 2010.08.29

Race condition 해킹 기법 문제

/* * http://sosal.tistory.com/ * made by so_Sal */ 2009 11월 16~17일 24시간동안 진행된 시립대학교 idea bank 해킹대회 chal0 문제입니다. 아래는 문제 소스입니다. (바로 공개되었습니다.) /home/chal1/keyfile 을 읽어라! 가 문제의 목적입니다. //----------- 문제 소스 chal0 -------------// #include #include #include int main(int argc, char * argv[]) { int loop; char buffer[512]; memset(buffer, 0, sizeof(buffer)); if (argc != 2) return 0; if (strlen(argv[1]) >= 30..

Linux - BOF metasploit을 이용한 간단한 buffer over flow

/* * http://sosal.tistory.com/ * made by so_Sal */ BOF에 대해 기본적인 지식이 없으신 분은 아래 링크에 가셔서 글을 읽고오세요~ LINK_ /* * 사실 요즘 나오는 OS들은 BOF 버그가 통하지 않습니다.. * 그럼에도 이 해킹기법을 공부하는 이유는.. * 컴퓨터 메모리 구조에 대한 이해(?)를 * 극대화 시킬 수 있는 재미있는 놀이이기도 하고.. * ftz.hackerschool.org 워게임 문제들중.. * 대략 50% 만큼의 비중을 차지하고 있는 * 공격기법이기도.. ㅎㅎ * 여튼 한번 Buffer over flow를 한번 일으켜 봅시다.. ㅠ * 아래 bof 실습 환경은 제가 리눅스 구버전을 가지고 있지 못해서 * ftz.hackerschool.org ..

반응형