반응형

해킹 55

드림핵 csrf-2 (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/269/ csrf-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. Reference Client-side Basic dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다. CSRF 취약점을 이용하여 플래그를 획득하면 된다. login 하라고 한다. 먼저 코드를 분석해보자!! users = { 'guest': 'guest', 'admin': FLAG } user의 id와 password가 주어져있다. admin의 password는 flag라고 되어있으니 guest로 로그인을 진행한다. guest로 로그인을 진행하니 admin이 아니라고 한다. adm..

드림핵 csrf-1 (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/26/ csrf-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. Reference Client-side Basic dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다. CSRF 취약점을 이용하여 플래그를 획득하면 된다. 사이트에 접속을 하면 vuln(csrf) page, memo, notice flag, flag 페이지가 있다. vuln(csrf) page는 파라미터에 스크립트를 삽입하여 취약점을 실습을 할 수 있는 페이지이고 memo는 request를 받은것을 메모해주는 페이지이다. notice flag는 admin만 접근이 가능하다. flag..

드림핵 cookie (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/6/ cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다, admin 계정으로 로그인을 성공하면 플래그를 획득할 수 있다. 문제 파일을 다운로드 받는다. #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./f..

[Hackerschool FTZ] - level 9 문제

문제 내용 /usr/bin/bof의 소스코드를 출력하고 있다. 소스코드 #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } } 해당 소스코드를 해석하면 버퍼 2개가 선언되어 있고 fgets로 buf에 40바이트만큼 입력창에서 입력을 받고 있다. 그리고 buf2에 저장된 2바이트가 go문자랑 같으면 0을 리턴하므로 참이되어 Real User ID, Effec..

[Hackerschool FTZ] - level 5 문제

문제 내용 힌트를 보면 /usr/bin/level5 프로그램을 실행하면 /tmp 디렉토리에 level5.tmp라는 임시 파일을 생성한다고 한다. /usr/bin/level5를 실행하고 /tmp 디렉토리를 확인 해 보겠다. 명령어를 실행하였지만 level5.tmp가 생성되지 않았다. 하지만 생성된것이 아니라 빨리 삭제가 된것이여서 보이지 않는 것이다. 이것은 레이스 컨디션 공격을 통해 문제를 해결할 수 있다. 레이스 컨디션 공격을 위한 조건은 아래와 같다. 1. SUID가 걸려있어야 한다. 2. 임시파일을 생성해야 한다. 3. 임시로 생성되는 파일의 이름을 알아야 한다. /usr/bin/level5를 실행하면 /tmp/level5.tmp 파일이 생성된다. setUID가 걸려있고 임시파일을 생성하고 생성되는..

[Hackerschool FTZ] - level 4 문제

문제 내용 힌트를 보면 누가 /etc/xinetd.d/ 디렉토리에 백도어를 심어놓았다고 한다. 해당 디렉터리로 이동하겠다. 백도어 파일을 확인하였다. finger라는 서비스를 이용한다. finger 는 로컬사용자 또는 원격서버사용자의 계정정보를 확인하는 명령어이다. 찾아보니 level5의 권한으로 /home/level4/tmp/backdoor를 실행한다고 한다. 따라서 우리는 /home/level4/tmp/backdoor 파일을 만들어야한다. backdoor.c 파일 #include #include int main(void){ system("my-pass"); return 0; } my-pass 명령어를 실행하는 백도어 코드이다. gcc로 컴파일을 한후 finger @loacalhost를 이용하여 lev..

[비박스(bWAPP)] - Directory Traversal - Files

리눅스에서 ../ 문자열은 파일의 경로를 지정할 때 사용되면 상위 디렉터리의 경로를 지정한다. 디렉터리 트레버설 취약점은 파일 경로를 지정하는 파라미터의 값으로 이러한 ../ 문자열의 입력을 허용함으로써 발생하는 취약점이다. ../../../etc/와 같은 방법으로 추트 디렉터리를 거쳐 다른 디렉터리를 지정할 수 있게 되므로 호스트 내부의 모든 파일에 접근하는 것이 가능하다. bWAPP의 A7 Directory Traversal - Files을 선택하여 실습을 진행한다. Directory Traversal - Files 실습 실습 페이지의 URL을 보면 page 파라미터에 message.txt가 지정되어 전달되고 있다. 이 실습 페이지는 page 파라미터에 저장된 파일인 message.txt 파일의 내용..

[비박스(bWAPP)] - 관리자 페이지 인증 우회

관리자 페이지는 종종 admin, admin.php, admin.jsp 등과 같은 URL로 되어 있어 쉽게 추측할 수 있다. DirBuster와 같은 자동화 툴을 이용하여 이러한 URL을 쉽게 찾을 수 있다. 그림 1은 dirbuster을 사용하여 URL을 알아냈다. 사용 명령어 gobuster dir -u http://192.168.60.136/bWAPP -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 100 gobuster을 사용하여 디렉토리 스캔을 진행하였다. /admin이라는 디렉토리가 발견이 되었고 이 디렉토리가 관리자의 URL이라고 생각을 하고 접속을 진행하였다. 단순히 URL을 추측하여 입력함으로써 관리자 페이지에 접근하..

[Tryhackme] - LazyAdmin

문제 이름 https://tryhackme.com/room/lazyadmin TryHackMe | LazyAdmin Easy linux machine to practice your skills tryhackme.com 위 사이트에 접속하면 해당 문제를 풀 수 있다. 정보 수집 BOX의 아이피를 할당 받았다. nmap을 이용하여 포트스캔을 진행하였다. sV 옵션으로 열린 포트의 서비스와 버전정보를 탐색하고 O옵션을 통해 운영체제를 탐색하였고 리다이렉션을 이용해 scan_result에 nmap결과 값을 저장시켰다. 오픈된 포트를 확인 해 보면 22번 포트와 80번 포트가 열려있다. 22번 포트는 ssh포트로 다른 컴퓨터에 원격으로 접속을 하는데 많이 사용하는 프로토콜이다. 버전 정보를 보면 OpenSSH 7..

Tryhackme OpenVPN 설정 방법

Tryhackme사이트에 접속 후 로그인 로그인을하고 Access로 들어가면 그림 2와 같은 화면을 출력한다. 오른쪽 초록색 부분을 kali리눅스에서 다운을 받는다. 다운로드 폴더에 들어가면 ovpn이라는 확장자를 가진 파일이 있음을 확인할 수 있다. openvpn --config seducernameless8.ovpn openvpn --config 다음에 다운받은 파일의 경로를 넣으면 된다. 그리고 Initialization Sequence Completed이라는 문구가 뜨면 완료!! 이 창은 계속 유지시켜야한다!! IP를 할당 받았고 이제 칼리리눅스에서 tryhackme문제에 접근을 할 수 있다!!

반응형