반응형

flask 8

[247CTF] SECURED SESSION - 웹해킹 / Flask

247CTF에서 제공하는 쉬운 난이도의 웹해킹 문제이다. 생각보다 쉽지는 않은것 같다. 문제페이지에 들어가면 이렇게 단순하게 서버의 소스코드만 나와있다. Python flask 기반으로 만들어 졌으며 os.urandom(24)로 SECRET_KEY 라는걸 만들어 쿠키로 사용하고 있다. 이 SECRET_KEY 값이 무엇인지 맞춰서 /flag 페이지로 이동할때 request 인자로 넣어줘야 session['flag'] 를 만날 수 있게 되는데, 현실적으로 os.urandom(24)을 때려맞추는건 불가능하다. 실제로 /flag 에 접근을 시도하면 Incorrect secret key! 라는 문구가 출력된다. 쿠기와 관련된 문제이니 F12를 눌러 개발자 도구의 네트워크 탭을 통해 session 쿠키값을 확인해 ..

워게임/247CTF 2023.09.19

[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] Templated - 웹해킹 / SSTI

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

[HSCTF9] gallery - 웹해킹 / LFI

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

CTF/웹해킹 2022.07.07

[HeroCTF] SmallMistakeBigMistake - 웹해킹 / 쿠키변조 / Flask

간단한 웹해킹 문제 이전에도 비슷한 문제를 다룬적이 있었다. (https://hackingstudypad.tistory.com/95) 문제 설명을 읽어보면 웹 개발자들이 코드에서 작은 실수를 했는데 혹시 그걸 찾아서 exploit을 해 플래그를 획득할 수 있는지 물어본다. 문제페이지 주소와 함께, 웹 소스코드도 같이 주어진다. 먼저 문제페이지에 접속했을때 화면이다. 다짜고짜 You are not admin! 이라는 문구가 출력된다. 대체 왜 이런 문구가 출력되는지 소스를 확인해본다. #!/usr/bin/env python from flask import Flask, session, render_template from string import hexdigits from random import choic..

CTF/웹해킹 2022.07.05

[Root Me] Python - Server-side Template Injection Introduction - 웹해킹 / SSTI

비교적 최근에 출제된 웹해킹(SSTI) 문제이다. SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 문제 페이지에 접속하면 이런 화면이 나온다. 사용자에게 title과 page content를 입력을 받고 있다. 시험삼아 test title / test content 라고 각각 입력을 한 뒤, Render your page! 버튼을 눌러줬다. 그러면 이렇게 내가 입력한 값이 까만 화면에 하얀 글씨로 출력이 된다. 이게 이 웹페이지 기능의 전부이다. SSTI 공격을 할때는 먼저 서버..

워게임/Root Me 2022.05.24

[HackPack CTF] Most Cookies - 웹해킹 / 쿠키변조 / Flask

이번 대회에서 가장 어려웠던 웹해킹 문제 확실히 쉬움/중간 난이도 문제보다 난이도 차이가 크게 난다. 제목부터 알 수 있듯이 쿠키값을 변조해서 세션을 탈취하는 문제이다. 문제 설명을 읽어보면 Flask session cookie는 아주 안전하다고 한다. CTF에서 이렇게 무언가가 안전하다고 말하는것은 100% 안전하지 않다. 그 취약점을 이용해서 해킹을 하면 된다. 이번 문제는 소스 파일이 주어지고, 문제페이지 주소도 별도로 제공된다. 문제페이지에 들어가보면 이런 화면이 나오낟. Cookie를 검색하는 사이트라고 한다. 일단 저기 예시로 나와있는 snickerdoodle을 입력해본다. snickerdoodle을 입력하면 초록색 창에서 That is a cookie! Not very special thou..

CTF/웹해킹 2022.04.12

[angstromCTF] Secret Agents - 웹해킹 / SQL Injection

이 문제부터 조금씩 어려워지기 시작했다. Secret Agents 라는 웹 해킹 문제이다. 문제설명을 읽어보면 secret agent portal 에 접속할수 있냐고 물어본다. 그리고 유출된 웹 페이지의 소스코드가 힌트로 제공이 된다. 문제페이지에 접속해보면 Welcome to the Super Secret Agents official site ! 라는 환영문구가 보인다. 비밀요원들만 접속할 수 있는 숨겨진 웹사이트 인가 보다. 아래쪽에 Here's the secret : actual secret agents have their OWN BROWSERS!! 라고 적혀있다. 비밀요원들은 특별한 브라우저를 이용해서 해당 페이지에 접근한다고 한다. 브라우저란 우리가 사용하는 크롬, 인터넷 익스플로러, 파이어폭스..

CTF/웹해킹 2022.03.12
반응형