목록전체 글 (370)
cgy12306

ID : level7 PW : come together 늘 그래왔듯 힌트를 열어본다. /bin/level7를 실행해보자. 대표 사진 설명을 입력하세요. 파일과 디렉토리를 찾을 수 없다고 한다. 패스워드는 가까운곳에..라길래 '가까운 곳에..'를 입력 해 봤지만 안됐다. 문제 오류다. 헤매던도중 동기가 wrong.txt파일이 없다고 알려줬다. 그래서 wrong.txt를 검색해보니 --_--_- --____- ---_-__ --__-_- 라고 한다. /bin/wrong.txt를 추가해주고 실행해보자. 뜬다. 아마 이건 모스 부호인것 같다. -를 1 _를 0으로 두고 풀어보면 1101101 1100001 1110100 1100101이다. 이걸 10진수로 바꿔보면 109 97 116 101이다. 입력해보자. 안..

ID : level6 PW : what the hell 접속하자마자 hint가 뜬다. 엔터를 누르니 접속 메뉴가 뜬다. 아마 이 부분에서 무언가를 해야하는 것 같다. 2번을 선택해보니 Trying하고 IP만 뜬다. 다른 1번하고 3번도 마찬가지이다. 다른 값을 입력하면 강제 종료가 된다. 그런데 인터럽트인 ctrl + c를 입력하면 Can't use ctrl+c라고 뜬다.(사람은 하지말라면 더 하고 싶어지는 법이다) 원래 ctrl+v나 ctrl+c를 쓰면 ^V나 ^C가 뜨거나 종료가 되어야 한다. 하지만 Can't use ctrl+c가 뜨는건 뭔가가 마음에 걸린다. 그래서 hint 창에서 엔터말고 다른 값을 입력했더니 입력이 된다. 여기서 ctrl+c를 해봤다. 쉘을 획득 했다. my-pass를 하니 l..

ID : level5 PW : what is your name? 힌트를 보자. /usr/bin/level5 를 실행 후 /tmp 디렉토리를 확인 해 보자. 아무것도 없다. 낚였다. 이 문제는 도무지 감이 안와서 구글링의 도움을 받았다... 만약 /usr/bin/level5를 실행 했을 때 level5.tmp가 생성되었다가 프로그램 종료전에 level5.tmp를 삭제를 한다면 심볼릭 링크를 활용 해야한다고 한다. * 링크는 하드링크와 심볼릭 링크 두가지로 나뉜다. 심볼릭 링크는 간단히 윈도우의 바로가기와 비슷하다. 하지만 하드링크는 inode값이 원본파일과 같고, 심볼릭 링크는 inode값이 원본파일과 다르다. 그렇다면 /usr/bin/level5 파일이 실행될 때 level5.tmp 파일을 생성 할 것이..

ID : level4 PW : suck my brain 힌트 파일을 열어보자. 누군가가 /etc/xinet.d/에 백도어를 심어놓았다고 한다. 파일을 열어보자. 해당 내용은 이러하다. finger 서비스 파일의 내용이다. disable 에서 no는 finger를 사용할 수 있고, yes로 되어있으면 사용이 불가능하다. flages의 REUSE는 포트가 사용중의 경우에도 재이용할 수 있도록 지원해준다. socket_type은 stream으로 하고, wait는 서비스가 단일 스레드인지, 다중 스레드인지를 결정하는 플래그로 yest는 단일, no는 다중 스레도이다. user는 level5이고, server는 해당 서비스를 실행할 데몬 프로그램의 위치를 지정해주는 것이다. 즉, server의 경로에서 실행하면 ..

ID : level3 PW : can you fly? 파일 리스트를 본다. 힌트를 본다. 힌트는 c언어 코드이다. 일단 autodig의 위치를 알아보자. /bin아래에 위치 해 있다. 코드를 분석 해 보면 cmd 100칸을 char 자료형으로 선언 해주고, argc가 2가 아니면 Auto Digger Version 0.9와 Usage : %s host를 출력해준다 %s에는 argv[0],즉 /bin/autodig가 들어간다. 이 후 cmd에 dig @ 문자열을 복사하고 argv[1], version.bind chaos txt를 이어 붙인다. argv[1]에는 내가 입력한 값이 들어간다. 다음 system명령어로 cmd를 호출한다. strcat 명령어는 해당 변수뒤에 문자열을 이어 붙여주는 역할을 해준다...

ID : level2 PW : hacker or cracker 접속 후 파일을 검색 해본다. hint 파일을 열어보자. 힌트 내용은 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다고 한다. 우선 텍스트 파일을 다시 찾아보자. level1에서 했던 것 처럼 find / -perm -4000 -user level3 를 입력해본다. /usr/bin/editor가 있다. 나머지는 권한이 거부 됐다. 실행 해 보자. 편집기가 뜨는 걸 볼 수 있다. vi에는 입력모드, 명령모드, ex모드 세가지로 나누어져있다. 입력모드는 말 그대로 작성하는 모드이며 i,a,o,I,A,O로 들어갈 수 있다. 명령모드는 편집 모드에서 제공하는 복사, 붙여넣기, 잘라내기를 할 수 있다. 명령모드는 ESC키로 들어갈 수 있다. ex모..

ID : level1 PW : level1 맨 처음 접속을 해서 'ls'명령어로 파일의 리스트를 확인한다. hint 파일이 있는 것을 볼 수 있다. hint 파일을 열어보자. hint 내용은 "level2 권한에 setuid가 걸린 파일을 찾는다"이다. 우선 파일을 찾는 명령어는 find 이다. 경로는 /(root)로 설정해주고 setUID의 값은 4000이며, level2의 쉘을 획득해야하기 때문에 유저는 level2 이다. 최종 명령어는 find / -perm -4000 -user level2 이다. 한 번 입력해보자. 검색 결과 /bin/ExecuteMe를 제외한 나머지는 Permission denied, 즉 권한이 거부 된다. /bin으로 가서 ExecuteMe를 실행 해 보자. 실행을 했더니 m..

XSS의 여러가지 형태 1. 이다. 브라우저에서 '#'문자 뒤에 있는 값을 서버로 전송하지 않는 것을 이용하여, 브라우저상에서는 '#'뒤에 내용이 실행 된다. 정리를 해보자면 Stored XSS와 Reflected XSS는 서버의 취약점을 이용한 것이고 DOM XSS는 브라우저의 취약점을 이용한 것이다. CSRF(Cross-Site Request Forgery) 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 XSS를 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린 것이라면, CSRF는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것이다. CSRF 방어 기법 1. CSRF 토큰 CSRF 토큰이란 임의난..

실습 환경 : bitnami WAMP XSS(크로스 사이트 스크립팅) : 웹 페이지에 스크립트를 삽입할 수 있는 취약점. 웹 서버에 요청하는 방식 2가지 GET 방식 : 주소창에 ?뒤에 값을 넘겨주는 방식 POST 방식 : ?뒤의 값을 숨겨서 전달하는 방식 예를 들어 친구에게 냉장고를 선물한다고 할 때 직접 전달하는 방식이 GET 방식, 택배로 포장해서 보내는 것이 POST 방식입니다. Reflexed XSS 코드의 내용은 xss.php에 msg를 GET으로 넘겨주면 출력해 줍니다. http://localhost/xss.php?msg=를 입력해주면 스크립트가 실행되는 것을 볼 수 있습니다. Stored XSS - 게시판의 악성 스크립트가 삽입된 형태로 이루어지는 XSS 공격 - 와 같은 태그 사용이 가능..

WAMP WAMP란 W(Window), A(apache), M(mysql), P(PHP)의 약자이다. 윈도우 환경에서 apache 웹서버, db, php를 한번에 설치 및 구성해주는 프로그램이다. PHP란 서버에서 실행되며 HTML을 포함하는 스크립트 언어. HTML을 포함하고 있기 때문에 HTML 내용을 PHP확장자로 저장해도 아무 지장없이 사용 가능.php 구조 예를 들어 www.naver.com/index.php를 브라우저에 치면 index.php를 요청하기 된다. 그러면 www.naver.com이 가리키는 해당 서버의 웹서버는 해당 파일을 서버에서 찾은 후에 확장자를 검사한다. html이나 html이면 해당 파일을 그대로 사용자의 웹 브라우저로 보내주고 그게 아니면 php, php3, inc와 같..