반응형

CTF 604

[n00bzCTF] QRazy CSV - 포렌식 / PIL / QR코드

문제 제목에서 QR 코드라고 힌트를 주고 있는 포렌식 문제이다. 문제에서 주어지는 것은 secret.csv 파일이다. 해당 파일을 열어보면 row, col 이라고 적혀있고 그 아래 숫자들이 써있다. row, col 이라는걸 보니 x,y 좌표라고 생각하면 될것 같고, 숫자는 x, y 모두 0부터 28까지 적혀있었다. 위에도 보면 0 ~ 28 범위 내에서 써있는 숫자도 있고, 안써있는 숫자도 있는데 써있는 숫자는 1, 안써있는 숫자는 0 으로 분류해서 해당 좌표에 색을 칠할지 말지 판단하면 되는듯 했다. 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install ..

CTF/포렌식 2023.06.28

[n00bzCTF] Pwn1 - 포너블 / 버퍼오버플로우 / IDA / Pwndbg / Pwntool

쉬운 난이도의 포너블 문제 간단한 버퍼 오버플로우 문제이다. pwn1 바이너리 파일과 원격 접속 주소가 주어진다. 한번 nc 를 이용해 원격으로 접속해 봤다. Would you like a flag? 라는 문장이 출력되고 사용자 입력을 받는다. 아무렇게나 입력해보니 fake flag 가 출력되었다. IDA 라는 디스어셈블러를 이용해 main 함수를 살펴보았다. 여기서 확인할 수 있는 문제는 배열 s 의 크기가 64 인데 fgets 함수로 80 만큼 입력을 받고 있는 것이다. 선언한 길이보다 더 많은 입력을 받아 버퍼오버플로우 취약점이 발생한다. 버퍼오버플로우를 통해 ret 주소를 변경시켜야 한다. 변경시킬 대상 주소는 코드 어디에서도 호출하지 않고 있는 win() 함수이다. win 함수는 system("..

CTF/포너블 2023.06.27

[n00bzCTF] Secret Group - 웹해킹 / 헤더변조

쉬운 난이도의 문제였지만 상당히 귀찮게 했던 웹해킹 문제 문제페이지에 들어가면 이런 문구가 나온다. agent 가 n00bz-4dm1n secure browser 가 아니라고 하는데 이건 웹 요청 패킷을 보낼때 헤더에 있는 User-Agent 의 값을 보고 판별한다. 요청 패킷을 수정해서 보내야 한다. https://chrome.google.com/webstore/search/modheader?hl=ko 요청 패킷의 해더를 변조할 때는 ModHeader 라는 확장 프로그램을 쓰면 편하다. Chrome 확장 프로그램 설치페이지로 가서 modheader 라고 검색하면 설치할 수 있다. ModHeader를 실행시켜서 이렇게 User-Agent 를 n00bz-4dm1n 으로 변경시켜 활성화해주면 웹페이지가 이렇..

CTF/웹해킹 2023.06.26

[n00bzCTF] Google Form 2 - MISC / ChatGPT

지난 Google Form 1 문제에 이어서 구글 폼과 관련된 두번째 문제 (https://hackingstudypad.tistory.com/546) MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 지난번 처럼 구글 폼 링크가 주어진다. 주어진 링크로 들어가면 이렇게 Google Form Flag Chekcer 2 라는 제목의 폼이 뜬다. 필수입력 사항으로 Do you want flag? 항목이 있는ㄷ 올바른 Flag 값을 입력해야만 한다. 지난 1번 문제처럼 웹 소스에서 뭔가 있지 않을까 싶어서 웹 소스에서 같은 부분을 확인해봤다. 눈에 띄는 부분이 100000000 과 Input too long! 이라는 메세지였는데 입력값의 길이를 체크하는 부분인것 같았으나 ..

CTF/MISC 2023.06.25

[n00bzCTF] Google Form 1 - MISC

Google Form 과 관련한 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 주어진 링크로 들어가면 이렇게 Google Form Flag Chekcer 1 라는 제목의 폼이 뜬다. 필수 입력 사항으로 Flag 항목이 있는데, 올바른 Flag 값을 입력해야만 한다. 아무거나 입력해봤더니 Incorretc flag! 라면서 에러가 발생한다. 보통 CTF 에서 나오는 Google Form 관련된 문제는 웹 페이지 소스에 플래그 값이 숨겨져 있는 경우가 많아 F12 를 눌러 개발자도구를 이용해 살펴보기로 했다. 개발자 도구에서 플래그 포맷인 n00b 를 찾기 했더니 바로 플래그를 찾을 수 있었다. 해당 값을 제출하면 정상적으로 페이지가 넘어가는 것을 확..

CTF/MISC 2023.06.24

[n00bzCTF] Flag Shop - 포너블

아주아주 간단한 포너블 생기초 문제 포너블 관련 지식이 없어도, 잔머리가 조금 있다면 풀 수 있다. 문제에선 바이너리나 소스코드가 주어지지 않고 원격 접속 가능한 주소만 주어진다. nc 를 이용해 이렇게 접속하면 flag shop 이라는 곳으로 연결된다. real flag 는 1337 달러, fake flag 는 50 달러에 팔고있는데 [3] Check account balance 를 선택해 잔고를 보면 수중에 100 달러밖에 없는것을 볼 수 있다. 일단 살 수 있는 fake flag 를 한번 사봤다. [2] Buy fake flag 를 선택하니 How many? 라며 구매 수량을 물어본다. 1 을 선택하니 n00bz{f4k3_flag} 라며 가짜 플래그가 출력되고 잔고를 확인해보니 50 달러가 줄어 5..

CTF/포너블 2023.06.23

[n00bzCTF] Conditions - 웹해킹

조금 어려웠던 웹해킹 문제 일반적인 해킹 기법에 대한 문제가 아니라서 적당한 페이로드를 찾는데 시간이 걸렸다. 문제에서는 server.py 파일과 문제 페이지 주소가 주어진다. 문제 페이지에 접속하면 이렇게 Username 을 입력할 수 있는 칸이 나온다. from flask import Flask, request, render_template, render_template_string, redirect import subprocess import urllib flag = open('flag.txt').read() app = Flask(__name__) @app.route('/') def main(): return redirect('/login') @app.route('/login',methods=['G..

CTF/웹해킹 2023.06.22

[n00bzCTF] Club_N00b - 웹해킹

초심자들을 위한 CTF 의 첫번째 웹해킹 문제 사실 이번문제는 좀 쉬워서 해킹이라 하기 좀 뭐하다. 문제페이지에 접속하면 나오는 화면이다. 가장 radical 한 해커만 입장할 수 있는 club n00b 이라고 한다. 나는 radical 하지 않기 때문에 입장이 거부되었다는 메세지가 뜬다. 아래쪽에 Check Status 버튼을 눌러봤는데 멤버 리스트에 없다는 메세지가 나온다. URL 을 보니 secret_phrase 파라미터에 nope 가 들어가 있는것이 보인다. nope 를 아까 강조되어있던 단어인 radical 로 변경해줬다. 그리고 다시 새로고침을 하면 웹페이지와 URL에 플래그가 적혀 나오는 것을 볼 수 있다.

CTF/웹해킹 2023.06.21

[DanteCTF] HellJail - MISC / Jail Escape

Jail Escape 와 관련된 문제 Hard 로 분류된 만큼 조금 어려운 문제였다. 대회 당시에는 못풀었는데 계속 시도해보다가 풀어버렸다. #!/usr/bin/env python3 from string import ascii_letters code = input('> ') if any(c in ascii_letters for c in code): print('You will never leave this place!') elif any(c in '.:;,-_@"=/%\\' for c in code): print('You will never reach this point, but still, you CANNOT leave!') else: exec(code) 문제에서 주어지는 HellJail.py 의 내용..

CTF/MISC 2023.06.20

[DanteCTF] Hanging Nose - MISC / 3D / STL

3D 개체와 관련한 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제에서 주어지는 것은 HangingNose.stl 파일이다. .stl 파일을 솔직히 처음봤는데 STereoLithography 의 약자로 CAD 파일 포맷이라고 한다. Windows10 에서도 열 수있어서 저렇게 아이콘이 보인다. 실행시키면 그림판3D 에서 이렇게 내용을 볼 수 있다. 저런 쇠공모양 개체가 보이는데 이리저리 돌려봐도 뭔가 특이한점이 보이지 않았다. 그림판3D 의 한계라고 생각하고, 저 쇠공 내부에 플래그가 있을거라 판단했다. 온라인에서 STL 을 볼 수 있는 사이트를 찾았다. (https://www.viewstl.com/#!) 해당 페이지에 업로드하면 이렇게 3D ..

CTF/MISC 2023.06.19
반응형