proxy-1
·
DreamHack/WEB
#!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_forimport socketapp = Flask(__name__)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'@app.route('/')def index(): return render_template('index.html')@app.route('/socket', methods=['GET', 'POST'])def login(): if request.method == 'GET': return render_template('..
web-misconf-1
·
DreamHack/WEB
로그인해서 Organization에 플래그가 있다고 한다.                         그라파나라고 적혀 있다. 그라파나는 주로 데이터 정리 할 때 시각적으로 표, 데이터 통계에 대해서 지원해 주는 오픈소스 라고 한다. https://ko.wikipedia.org/wiki/Grafana Grafana - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wikipedia.org  소스코드는 따로 없고 기본설정 파일밖에 없다. 그거라도 보자.               ##################### Grafana Configuration Defaults ####################### Do not modify this file in grafana insta..
blind-command
·
DreamHack/WEB
왜 이리 나만 어려워하는 것인가          #!/usr/bin/env python3from flask import Flask, requestimport osapp = Flask(__name__)@app.route('/' , methods=['GET'])def index(): cmd = request.args.get('cmd', '') if not cmd: return "?cmd=[cmd]" if request.method == 'GET': '' else: os.system(cmd) return cmdapp.run(host='0.0.0.0', port=8000)  문제 코드는 심플하다 get 요청에 대해서 'cmd'(os 아님) 문자열을..
rev-basic-4
·
DreamHack/Reverising
"Correct"를 떠야 하니 sub_7 FF793501000를 보자.           반복문으로 28번 반복하여 byte_7FF793503000[i] 에 들어있는 배열값들이랑 일치하는지를 확인한다. 먼저 배열안에 들어있는 것들을 확인하도록 하자.           32개가 있지만 00을 제외하면(의미 없으니) 27개만 해당된다. 다시 돌아가 식을 보자            for ( i = 0; (unsigned __int64)i > 4)) != byte_7FF793503000[i] ) return 0LL; } return 1LL;  if 문에 대한 식을 정리하면  (16 *(a1+i)) | ((a1+i) >> 4) 형 변환에 대한 생략 unsigned __int8 -> uint8_t__i..
(CTF 출제) simple-web-request
·
DreamHack/CTF
문제화면이다. STEP 1을 들어가 보자.             문제코드도 한번 보자.       #!/usr/bin/python3import osfrom flask import Flask, request, render_template, redirect, url_forimport sysapp = Flask(__name__)try: # flag is here! FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]"@app.route("/")def index(): return render_template("index.html")@app.route("/step1", methods=["GET", "POST"])def ..
session
·
DreamHack/WEB
간단한 로그인이라 하지만 flag를 딴 사람은 2350명이다. Cookie 문제는 10000명이 넘었는데           문제 화면이다. admin으로 login 하는 거 같다. 코드를 한번 봐보자.            #!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_forapp = Flask(__name__)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'users = { 'guest': 'guest', 'user': 'user1234', 'admin': FLAG}sessio..
patch
·
DreamHack/Reverising
실행파일을 다운로드하여 확인해 보자.             잘 가려놨네.. IDA를 이용해서 코드를 확인해 보자.             int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ HCURSOR CursorW; // rax HWND Window; // rax HWND v8; // rbx HACCEL AcceleratorsW; // rbx WNDCLASSEXW v11; // [rsp+60h] [rbp-A8h] BYREF struct tagMSG Msg; // [rsp+B0h] [rbp-58h] BYREF LoadStringW(hInstance, 0x67u, &W..
web-ssrf
·
DreamHack/WEB
#!/usr/bin/python3from flask import ( Flask, request, render_template)import http.serverimport threadingimport requestsimport os, random, base64from urllib.parse import urlparseapp = Flask(__name__)app.secret_key = os.urandom(32)try: FLAG = open("./flag.txt", "r").read() # Flag is here!!except: FLAG = "[**FLAG**]"@app.route("/")def index(): return render_template("index.html")..
rev-basic-2
·
DreamHack/Reverising
디컴파일한 main이다. 목적은 "Correct"를 하기 위해 "sub_7 FF7 C05 E1000"의 주소를 들어가 보자.                   flag를 출력하는 조건을 보면... 배열 aC 값과 순차적(+ i) a1 값들을 비교해서 모두 같다면 출력해 주는 거 같다. 그러면 배열 aC와 a1 값들이 똑같아야 한다 그렇다면 둘 중 하나만 알아도 된다는 것 배열 aC에 대한 주소가 나와있기 때문에 배열 문자를 조합하면 flag가 출력된다.