반응형

워게임/HackTheBox 30

[HackTheBox] Illumination - 포렌식 / git

HackTheBox 에서 제공하는 쉬운 난이도의 포렌식 문제 git 과 관련된 문제인데 이전에 Root Me 와 CTFlearn에도 비슷한 문제가 있어서 풀이한 적이 있다. (Root Me : https://hackingstudypad.tistory.com/182) (CTFlearn : https://hackingstudypad.tistory.com/261) 참고로 git은 소스코드의 변경사항을 추적하고 여러 사용자들간 작업을 조율하기 위한 버전관리 시스템이다. 신입 개발자가 코드를 수정했는데 비밀 토큰을 찾아내는것이 이번 문제의 목표이다. 문제에는 bot.js 파일과 config.json 파일이 주어진다. bot.js 파일은 소스코드인것 같고, 안에 특이한 내용은 없다. config.json 파일을 열..

[HackTheBox] Toxic - 웹해킹 / PHP Object Injection

HackTheBox 에서 제공하는 웹해킹 문제 이번 문제는 PHP Object Injection 과 관련된 문제이다. PHP Object Injection 은 PHP Serialize 취약점이라고도 불리는데 PHP 에서 unserialize() 함수를 사용할 때, 사용자 입력이 적절하게 필터링 되지 않을 경우 임의이 PHP Object 가 삽입되어 Command Injection, SQL Injection, Path Traversal 등과 같은 공격이 가능하게 되는 취약점이다. 문제 페이지에 들어가면 이런 화면이 나온다. 독개구리를 판매하는(??) 사이트인데 밑에 적혀있는 후기같은걸 보면 아내랑 같이 먹었다는 후기도 있다(???) 아무튼 이게 중요한게 아니고 웹 페이지 자체에는 아무런 기능이 없다. 조금..

[HackTheBox] LoveTok - 웹해킹 / Command Injection

HackTheBox 에서 제공하는 LoveTok 문제 웹해킹 문제로 Command Injection 취약점을 이용한 문제이다. 문제페이지에 접속했을 때 화면이다. You'll find love: 라고하면서 어떤 시간을 알려주고 있다. 아래쪽에 있는 Nah, that doesn't work for me. Try again! 이라는 문구는 위에 있는 시간이 마음에 들지 않을 때 누르는 버튼이다. 버튼을 누르면 URL이 /?format=r 이라고 바뀌면서 시간도 같이 바뀌게 된다. 주어지는 소스코드도 같이 살펴보자. TimeController.php 파일을 먼저 살펴본다. isset 으로 format 파라미터가 GET 요청에 있으면 그대로 쓰고, 없으면 r 값을 넣어준다. 이건 아까 빨간 버튼 눌러서 확인한 ..

[HackTheBox] Gunship - 웹해킹 / Prototype Pollution / RCE

HackTheBox 에서 제공하는 very easy 난이도의 웹해킹 문제 프로토타입 폴루션과 관련된 문제인데 당시 프로토타입 폴루션이라는걸 처음 접해봐서 푸는데 시간이 좀 걸렸다. 사실 아직도 완벽하게 이해는 못했다. 문제페이지에 접속하면 이런 화면이 나온다. 레트로 감성 가득한 웹페이지에 Who's your favourite artist? 라는 문구와 함께 이름을 입력하는 창이 보인다. 찾아보니 Gunship 은 밴드의 이름이다. Alex Gingell, Dan Haigh, Alex Westaway 세 사람으로 이루어졌다고 한다. const path = require('path'); const express = require('express'); const pug = require('pug'); con..

[HackTheBox] baby CachedView - 웹해킹 / Flask

HackTheBox에서 제공하는 쉬운 난이도의 웹해킹 문제이다. 문제페이지에 처음 접속했을 때 화면이다. 토끼가 춤추고 있고, 아래에는 URL을 입력하는 창이 보인다. 시험삼아 네이버 주소를 입력해 봤더니 이렇게 아래쪽에 네이버 메인화면 스크린샷을 가져와서 표시해준다. 문제 제목 그대로 사용자가 입력한 URL에 방문해서 해당 페이지를 Caching 하는 기능의 웹페이지이다. 일단 주어진 문제파일을 통해서 flag 라는 사진파일이 서버 내에 있다는것을 알았다. @api.route('/cache', methods=['POST']) def cache(): print("Cache") if not request.is_json or 'url' not in request.json: return abort(400) r..

[HackTheBox] misDIRection - MISC / Shell script

HackTheBox 의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 해킹이라고 보긴 좀 뭐하고 해킹할때 쓰일수도 있는 잡다한 기술을 쓸수있는지 물어보는 문제이다. 문제파일로 misDIRection.zip 파일이 주어진다. 압축을 풀어보면 이렇게 .secret 폴더가 안에 들어있다. .secret 폴더 안에는 이렇게 숫자와 알파벳으로 된 폴더들이 들어있는데, 각 폴더를 들어가보면 이렇게 숫자도 된 내용없는 파일이 있는것도 있고, 없는것도 있다. 추측해보건데, 각 폴더 안에 있는 숫자이름의 파일은 해당 폴더명인 글자의 위치를 나타내는것 같았다. 예를들어 위에 0 같은 경우 플래그의 6번째 자리에 있고, 1 같은 경우 22, 30번 자리에 있고, 4 ..

[HackTheBox] Phonebook - 웹해킹 / LDAP Injection / Python

HackTheBox 에서 제공하는 LDAP Injection 관련 문제 사실 이번 문제를 풀면서 LDAP Injection을 처음 경험해 봐서 난이도는 EASY 지만 꽤나 오랜 시간이 걸렸다. 문제를 푸는시간보다 LDAP Injection이 취약점이라는것을 알아차리는게 오래걸렸다. 문제 페이지에 접속하면 이렇게 로그인 페이지가 나온다. 일단 여기서 SQL Injection 인줄 알고 별의별 시도를 다 해보느라 시간이 오래걸렸다. 이것저것 넣어보다가 특이한것을 발견했다. 로그인에 실패하면 위처럼 빨간 박스에 Authentication failed 라는 문구가 뜨는데 username 과 password 에 각각 * / * 을 입력하면 뭔가 로그인이 된 듯한 화면으로 넘어간다는 것이다. 여기서 LDAP Inj..

[HackTheBox] Pusheen Loves Graphs - MISC / IDA

아주 신박했던 MISC 문제 이런 문제들을 생각하는 출제자들이 정말 대단한것 같다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 해킹이라고 보긴 좀 뭐하고 해킹할때 쓰일수도 있는 잡다한 기술을 쓸수있는지 물어보는 문제이다. 문제 제목에 나오는 이 고양이 캐릭터이다. 어디서 봤는지 정확히 기억은 안나지만 인터넷 하다보면 어디선가 한번쯤은 봤을 것이다. 문제 설명을 읽어보면 이 Pusheen 이 그래프와 IDA를 좋아한다고 한다. IDA 는 이전부터 리버싱이나 포너블 문제 풀때 다뤘든 디스어셈블러이다. 문제파일을 다운로드 받으면 Pusheen 이라는 이름의 ELF 파일이 하나 주어진다. ELF 파일은 리눅스에서 실행이 가능하다. ./Pusheen 이라고 실행시켜 ..

[HackTheBox] Templated - 웹해킹 / SSTI

SSTI 와 관련된 웹해킹 문제 SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 문제 페이지에 접속하면 이런 화면이 나온다. 아직 완성되지 않은 웹 서버를 묘사해놓은것 같은데 Site still under construction 이라고 되어있고 아래쪽에 Proudly powered by Flask/Jinja2 라고 적혀있다. 이 부분이 아주 큰 힌트이다. 일단 공격 벡터를 찾기 위해 이것저것 시도해봤다. URL에 없는 경로를 입력할 경우 404 Error 페이지로 이동하게 되는데..

[HackTheBox] Emdee five for life - 웹해킹 / Requests / BeautifulSoup

이제부턴 HackTheBox 에서 제공하는 워게임 문제도 포스팅 해보려고 한다. 예전에 풀었던 문제들 Write Up이라 지금 접속하면 안보이는 문제들도 꽤 있다. 그중 가장 쉬운 문제였던 Emdee five for life 이다. Emdee five 라는 말을 처음봐서 이게 대체 뭔가 했는데 발음 그대로 읽으면 MD5 이다.. 문제도 MD5 해시 알고리즘과 관련된 내용이다. 문제 페이지에 접속했을때 화면이다. MD5 encrypt this string 이라는 문구가 나오고 바로 아래에는 알 수 없는 문자열이 나오는데, 단순하게 저 문자열에 대한 MD5 해시값을 입력창에 넣어 제출하는 것이 목표이다. 문자열을 MD5 해시로 만든 뒤, Submit 버튼을 눌렀더니 Too slow! 라는 문자열이 뜨면서 M..

반응형