반응형

사이버 424

[Root Me] PHP - register globals - 웹해킹 / 백업파일

PHP register globals 와 관련된 웹해킹 문제 register globals 는 php 설정파일인 php.ini 파일에 있는 옵션 중 하나인데 이 값이 만약 on 으로 설정되어 있을경우, 외부에서 GET 이나 POST로 전달된 값들이 자동으로 php 변수로 바뀌게 된다. 문제 설명에 힌트가 살짝 적혀있다. 개발자들은 종종 백업파일을 남겨놓는다고 한다. 문제페이지에 접속하면 이렇게 비밀번호 입력하는 창이 나온다. 개발자가 남겨둔 백업파일을 먼저 찾아본다. 보통 백업파일은 파일명 뒤에 .bak 이런식으로 저장하는 경우가 많다. 주소창 맨 뒤에 index.php.bak 이라고 입력해보면 이렇게 백업파일이 자동으로 다운로드 된다. 아이콘은 한글파일인데 무시해도 된다.

워게임/Root Me 2022.07.20

[OWASP Juice Shop] Kali Linux & Docker 이용 설치 방법

kali 리눅스와 Docker를 이용한 OWASP Juice Shop 설치방법 만약 kali와 docker가 설치되어있지 않다면 아래 포스팅을 먼저 보고 오면 된다. https://hackingstudypad.tistory.com/58 [Kali Linux] 최선버전 다운로드 및 설치방법 Kali Linux 최신버전 설치 및 다운로드 방법에 대해서 알아보자. 칼리리눅스는 Offensive Security에서 개발한 데비안 기반의 리눅스 운영체제이다. 모의해킹 공부를 할때 거의 필수적으로 사용하는데 hackingstudypad.tistory.com https://hackingstudypad.tistory.com/71 [Docker] Kali Linux에 Docker/Docker-compose 설치하기 Ka..

[Root Me] PHP - Filters - 웹해킹 / LFI / PHP wrapper

PHP Filters 와 관련된 웹해킹 문제 이전에도 실제 대회에서 비슷한 문제를 다뤄본 적이 있다. (https://hackingstudypad.tistory.com/143) 문제의 목표는 admin의 비밀번호를 알아내는 것이다. 문제 페이지에 처음 접속하면 이런 화면이 나온다. 페이지 기능을 살펴보기 위해 일단 눈에 보이는 버튼을 눌러봤다. home 버튼을 눌렀더니 URL에서 inc 변수로 accueil.php 페이지를 불러오는걸 볼 수 있었다. 두번째로 login 버튼을 눌러봤더니 이번에도 URL에서 inc 변수로 login.php 페이지를 불러오고 있었다. inc 변수가 핵심인거 같아서 이번엔 inc 변수에 임의로 hello 라고 적어보았다. 그랬더니 에러가 나는데, 에러 내용을 살펴보면 서버에서..

워게임/Root Me 2022.07.18

[CTFlearn] Where Can My Robot Go? - 웹해킹 / robots.txt

CTFlearn의 다섯번째 문제 드디어 풀이수가 2만명 이하로 떨어졌다. 출제자는 문제를 MISC로 분류했지만(Miscellaneous) 굳이 따지자면 웹해킹이랑 관련있는거 같아 웹해킹으로 포스팅을 적는다. 이 문제는 제목이랑 설명에서 부터 큰 힌트가 있다. Where Can My Robot Go? Where do robots find what pages are on a website? 아마 티스토리 하시는 분들이라면 익숙한 단어일 것이다. 이 문제는 robots.txt 를 이용해 푸는 문제이다. 네이버 서치어드바이저에 있는 바로 그 robots.txt이다. robots.txt는 로봇 배제 표준이라고 해서 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 일종의 규약이다. 검색엔진들이 내 웹페이지를 마구마..

워게임/CTFlearn 2022.07.17

[Root Me] PHP - assert() - 웹해킹 / Command Injection

PHP의 assert() 함수와 관련된 웹해킹 문제 assert() 함수는 프로그래머가 예상치 못한 예외처리를 하기 위해서 사용되는 함수이다. 이번 문제에서는 assert() 함수의 취약점을 이용해 .passwd 파일의 내용을 읽으면 된다. 문제페이지에 접속했을때 화면이다. 비밀이 어디있는지 못찾을것이라며 사악한 웃음을 짓고있다.. 메뉴처럼 생긴 Home, About, Contact 버튼을 각각 눌러보면 URL이 누를때마다 바뀌는 것을 볼 수 있다. URL에서 ? 뒤에오는것은 변수라고 생각하면 된다. 문제페이지에서는 page 변수에 각각의 페이지 이름을 담아서 페이지를 불러오고 있다. 보통 이렇게 page 를 변수로 받아오는 환경에서 LFI(Local File Inclusion) 취약점이 발생한다. 그래..

워게임/Root Me 2022.07.14

[HSCTF9] squeal - 웹해킹 / SQL Injection

정말 간단한 SQL Injection 문제 문제 제목부터 SQueaL 이라고 힌트를 주고 있어서 어떤 공격 기법으로 접근해야 하는지 쉽게 알 수 있다. 문제 설명을 읽어보면 super secret 사이트에 admin 으로 접속할 수 있겠냐고 물어본다. 해킹 대회에서 super secret 이라는 수식어가 붙으면 무조건 아주 취약하다는 의미이다. 이번 문제는 문제페이지 주소와 함께 소스코드도 같이 주어진다. 문제페이지에 접속했을때의 화면이다. 간단한 로그인 페이지가 보인다. 시험삼아 ID, 비밀번호에 123 / 123 이라고 입력해봤는데 위에 Incorrect username or password 라는 알림창이 뜬다. 사실 여기서 바로 문제를 풀 수 있지만 소스코드가 제공되었으니 예의상 한번 봐준다. co..

CTF/웹해킹 2022.07.11

[Root Me] PE DotNet - 0 protection - 리버싱 / IDA

DotNet 리버싱 문제 닷넷은 .NET 라고도 쓰며 마이크로소프트에서 제공하는 윈도우 프로그램 개발 환경을 말한다. 닷넷 앞에있는 PE는 Portable Executable 의 약자로 윈도우에서 실행파일을 의미한다. 그냥 exe 파일이라고 생각하면 된다. 문제 제목에 있는 0 protection 은 아무런 보호조치가 되어있지 않다는 뜻으로 아주 쉬운 문제임을 알려준다. 문제 파일로 주어지는것은 ch22.exe 파일이다. exe 파일을 실행시켜 보면 이렇게 조그만 창이 하나 뜨면서 Password 입력을 요구한다. 비밀번호 입력창에 hello 라고 시험삼아 입력해봤는데 당연히 틀렸기때문에 Bad password 라는 알림창이 뜬다. 좀더 자세히 보기위해 IDA 라는 디스어셈블러를 이용했다. IDA를 실행..

워게임/Root Me 2022.07.10

[Root Me] Directory traversal - 웹해킹

25점짜리 웹해킹 문제 Photo galery 라는 웹페이지가 주어지는데 여기서 hidden section을 찾으면 되는 문제이다. 문제페이지에 접속하면 이렇게 이모티콘들이 카테고리별로 모여있는것을 볼 수 있다. 기능을 살펴보기 위해 웹페이지에서 이것저것 눌러봤는데 중요한 변화를 눈치챘다. 위처럼 emote 카테고리를 선택하면 URL이 galerie=emotes 라고 맞춰서 바뀌고, devices 카테고리를 선택하면 URL이 galerie=devices 로 맞춰서 바뀌는 것이다. 문제 컨셉이 Directroy Traversal 이니 어떻게 접근해야할까 생각하다가 만약 아무것도 입력안한다면? 이라는 생각이 들었다. galerie= 이라고 galerie 변수에 아무런 값도 입력하지 않으니 아래처럼 나왔다. ..

워게임/Root Me 2022.07.09

[CTFlearn] Character Encoding - 암호학 / ASCII

CTFlearn의 세번째 문제 문제 풀이한 수가 앞의 문제보다 낮은건 너무 쉬워서 안풀고 그냥 넘어간 사람들이 많기때문이지 않을까.. 라는 생각이든다. 그정도로 쉬운 문제이다. 사실 풀이까지도 필요없을거 같지만.. 그래도 일단 적어본다. 문제 설명을 읽어보면 컴퓨터 산업이 발달하면서 미국의 coder 들이 정보 교환을 위해 표준을 만들었다고 한다. 그러면서 어떤 문자열이 주어지고, 무엇인지 알아낼 수 있겠냐고 물어본다. 41 42 43 54 46 7B 34 35 43 31 31 5F 31 35 5F 55 35 33 46 55 4C 7D 주어지는 문자열은 2자리로 된 16진수 숫자들이다. 분류를 암호학으로 하긴 했지만 사실 이건 암호라기보단 인코딩이다. 암호는 key를 사용해서 다른사람들이 알아볼 수 없는..

워게임/CTFlearn 2022.07.08

[HSCTF9] gallery - 웹해킹 / LFI

쉬운 난이도의 웹해킹 문제였다. 문제 페이지 주소와 함께 문제 소스파일도 같이 주어지는데 약간의 센스만 있다면 사실 소스 안보고도 충분히 풀 수 있는 문제이다. 문제페이지에 들어가면 나오는 화면이다. 문제 제목인 Gallery에 맞게 각종 사진들을 볼 수 있다. f12를 눌러 개발자도구로 메인페이지 HTML 코드를 살펴보았다. 각종 이미지들을 서버에서 가져올때 URL에 /image 경로에서 ?image= 변수에 이미지 파일 이름을 지정해서 가져오는 방식인 것을 확인했다. (URL에서 ? 뒤에 오는것은 변수라고 보면 된다.) 만약 URL에 ?image= 을 입력하는것이 아니라 서버에 있는 다른 파일이름을 입력한다면? 만약 적절하게 필터링이 되어있지 않을 경우 서버에 존재하는 아무 파일이나 가져와서 읽을 수..

CTF/웹해킹 2022.07.07
반응형