Dreamhack Wargame(63)
-
login-1 풀이
#!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for, session, g import sqlite3 import hashlib import os import time, random app = Flask(__name__) app.secret_key = os.urandom(32) DATABASE = "database.db" userLevel = { 0 : 'guest', 1 : 'admin' } MAXRESETCOUNT = 5 try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' def makeBackup..
2022.01.06 -
[wargame.kr] strcmp 풀이
소스코드를 보니 바로 보이는 게 있네요. // do not brute force!라고 되어있는 걸 보니, sleep(1); 때문에 브포는 안될 것 같습니다. 그럼 다른 풀이법을 생각해봅시다. 우선, 가장 중요한 password는 랜덤으로 가져오게 됩니다. strcmp() 함수를 실행해서 결과값이 0일 경우(같을 경우)에 FLAG를 출력해줍니다. 사실 처음에는 어떻게 풀어야 할지 감이 오지 않았지만, 구글링을 해보니 strcmp() 함수에 취약점이 있었습니다. strcmp로 비교를 할 때 인자값에 배열이 들어가면 NULL이 나오게 됩니다. 그러므로 html 코드에 있는 name="password"을 name="password[]"로 바꿔주고 아무 값이나 보내주면 될 것 같습니다.
2022.01.06 -
[wargame.kr] login filtering 풀이
소스코드 제일 아래에 있는 아이디랑 비번?처럼 보이는 것을 써서 로그인부터 해보겠습니다. you have blocked accounts. 라고 써져있는 걸 보니 사용할 수 없는 계정인가 봅니다. blueh4g / blueh4g1234ps 계정도 마찬가지였습니다. 이제 페이지가 어떻게 작동하는지 알았으니, 본격적으로 소스코드를 해석해보겠습니다. 코드의 윗부분은 문제 풀이에 그다지 도움되지 않는 부분이니, 설명은 생략하도록 하겠습니다. 여기 있는 if문이랑 sql구문이 중요해 보입니다. 차근차근 분석해보겠습니다. id가 존재할 때, id가 guest 또는 blueh4g라면 "your account is blocked"를 출력해줍니다. 아니라면 "login ok"를 출력해주고 FLAG를 출력해줍니다. id가 ..
2022.01.01 -
Carve Party 풀이
click the pumpkin to make a jack-o-lantern! 10000 more clicks to go! 위에 나오는 코드는 페이지에 들어가서 개발자 도구로 연 JS 코드입니다. 만 번을 클릭하면 FLAG가 나오는 형식인 것 같습니다. 만 번을 다 클릭할 수는 없으니 개발자 도구 콘솔 창에서 JS 코드를 실행시키겠습니다. make() 함수에서 호박을 지칭하는 것을 찾아보니 '#jack-target'이였습니다. while문으로 이 부분을 9999번 클릭하게 만들고 마지막 한 번은 직접 눌러보겠습니다.
2021.11.18 -
dreamhack-tools-cyberchef 풀이
뭔가 인코딩 된 것 같은 문자열이 보입니다. 아래에 암호를 만든 절차가 나와있는 것 같습니다. 그렇다면 이를 거꾸로 해서 Base64 -> Rail Fence로 디코딩하면 원래의 문자열인 FLAG가 나올 것 같습니다.
2021.11.18 -
simple-ssti 풀이
우선 URL 뒤에 /{{4*4}}를 입력해보겠습니다. 문제 이름 자체가 SSTI니까 예상대로라면 /16이 화면에 출력될 것입니다. 코드를 보니 app.secret_key에 FLAG가 들어있다고 되어있습니다. 아무래도 app.secret_key의 값을 화면에 출력시키면 FLAG를 얻을 수 있을 것 같습니다. (+ app.secret_key에 들어있는 정보들을 보려면 URL 뒤에 /{{config}}를 삽입하면 됩니다.) 이번 문제는 점수에 비해 좀 많이 헤맨 것 같습니다. flask 지식이 빈약해서 그런 것 같네요....ㅎ
2021.11.17