본문 바로가기
반응형

분류 전체보기167

Simple Node.js HTTP Server 간단한 Node.js 웹 서버를 만들어보자. 개발 환경은 공신 홈페이지 또는 다른 블로그에 잘 설명되어 있다. 아래의 코드를 동작시키면 된다. //app.js var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("hello World"); response.end(); }).listen(8888); console.log('Server running at http://localhost:8888/'); .listen(8888)은 포트이다. .listen(port) node app.js 로 실행시켜주면.. 2021. 8. 6.
FTZ Level 10 Level10 으로 접속하여 힌트를 보면 여기서 공유메모리와, key_t의 값 7530이 핵심 포인트이다. 우선 공유메모리에 대해서 알아보면 프로세스들은 원래 자신에게 할당된 메모리만 사용할 수 있는데, 프로그램 특성상 여러 프로세스들이 특정 메모리 영역을 공유할 때가 있는데 이것을 공유메모리라고 한다. 공유메모리는 알았고 key_t 값 7530이 있다. 이것을 보고 유추할 수 있는게 프로그램을 작성하여 key_t값을 활용하여 해당 공유 메모리를 통해 level11의 비밀번호를 가져오는 것이라고 알수 있다. 우선 공유 메모리와 관련된 내용을 구글링 해보았다. 대표적으로 shmget, shmat함수가 있다. shmget함수로 key 값을 사용해 원하는 공유 메모리에 요청을 하고 shmat함수로 해당 메모리.. 2021. 8. 6.
FTZ Level 9 ftz level9으로 접속한다. 접속해서 hint를 보면 bof의 소스가 나온다. 살펴보면 buf2 배열의 처음 2개가 go면 /bin/bash를 실행해준다다 find명령어를 사용해 살펴보면 /usr/bin/bof의 suid는 level10이다. 그럼 level10의 쉘을 띄어준다는 소리다. 여기서 볼수 있느게 buf를 fgets로 받아주는데 이미 buf는 10개의 크기로 정의 되어있다. buf 를 초과하는 정보는 buf2에 쌓일 것이다. 0~9까지가 buf의 크기이다. buf2까지의 공간은 abcdef 즉 5이다. 이렇게 level10의 쉘을 실행한 후, my-pass를 입력하여 level 10의 패스워드를 알아내면 된다. 2021. 8. 6.
FTZ Level 8 Level 8 으로 접속 후, 힌트를 보면 shadow파일인데 용량이 2700인것을 찾아라고 합니다. find / -size 2700c 를 입력하면 파일들중 위와 같은 파일이 있습니다. 읽기 권한만 있는 이 파일을 확인하면 이런 문구가 나옵니다. 이것을 복호화 해주기 위해서 존더리퍼를 사용할 것입니다. 우선 위의 내용을 복사해서 로컬에다가 txt파일로 저장합니다. 그리고 로컬에 존더리퍼를 설치하여 이를 복호화 할 것 입니다. http://www.openwall.com/john/ 에서 무료버전으로 다운받은 후 설치합니다. john 버전을 설치하기 위해 /john-1.8.0/src로 가서 make generic 을 해주면 /john-1.8.0/run에 john이라는 실행파일이 생깁니다. ./john -sho.. 2021. 8. 6.
FTZ Level 7 Level 7에 접속하여 hint를 보면 이라고 나타납니다. 일단 /bin/level7을 실행시켜 보면 이라고 나타납니다. 하지만 이게 원래는 --_--_- --____- ---_-__ --__-_- 이라고 나타납니다. 여기서 힌트와 같이 생각해보면 패스워드는 가까운곳에 상상력을 총동원하라. 2진수를 10진수로 바꿀 수 있는가? 계산기 설정을 공학용으로 바꾸어라 여기서 3번 힌트를 보고 유추 할 수 있는것이 저 모스부호같은것이 1과 0을 나타내는 수일 수 있지 않을까? 라는 생각을 할 수 있습니다. 일단 그생각을 가지고 해보면 --_--_- /--_ _ _ _-/ ---_-_ _/ --_ _-_-/ 1101101 1100001 1110100 1100101 의 2진수로 나타낼 수 있죠 이것을 10진수로 나.. 2021. 8. 6.
FTZ Level 6 Level 6로 접속하면 라고 나옵니다. 여기서 ls 등등의 명령어 치면 접속이 종료됩니다. 이것이 접속되기 전에 끊으면 어떨까 하는 생각에 CTRL + C를 눌려보니!! Level6 홈 디렉토리가 나타납니다. 2021. 8. 6.
반응형