web(98)
-
Web - Client | HTML - disabled buttons
Start the challenge를 눌러보니 위와 같은 메인 페이지가 보입니다. 텍스트 상자와 버튼이 비활성화되어있습니다. 개발자 도구에서 HTML Source Code를 보겠습니다. text와 submit 타입의 input 태그에 disabled라는 글자가 붙어있습니다. disabled라는 글자를 지워보겠습니다. 정상적으로 입력 폼이 활성화된 걸 볼 수 있습니다. text 상자에 아무 문자열이나 입력하고 Member access 버튼을 눌러보겠습니다. FLAG를 획득했습니다. Root Me 사이트에서는 FLAG를 Password라고 하는 것 같습니다. Root Me에는 트윗 시스템도 있나 보네요? :D 여기도 많이 애용할 것 같습니다.
2022.05.21 -
[wargame.kr] tmitter 풀이
처음에는 무슨 문제인가 싶어서 소스부터 뜯어봤습니다. 맨 아래에 hint라며 주석 처리된 문장이 있습니다. admin으로 로그인하면 문제가 풀리는 형식인 것 같은데, 어떻게 로그인을 할지가 문제입니다. 우선 사이트의 구동 형식이라도 알아야 할 것 같아서, 임의의 계정을 만들어 로그인을 해봤습니다. 블로그 방명록을 작성하는 형식으로 구동되는 홈페이지인 것 같습니다. 작성 칸에 무언갈 작성 후 버튼을 눌러봐도 달라지는 것 없었습니다. 그렇다면 역시 Sign Up 페이지에서 취약점이 발생하는 것 같습니다. DB 부분에서 취약점이 발생하는 것 같기에, 우선 기본적인 DB 문법부터 살펴봤습니다. 필자는 DB 문법에 대해서는 거의 아는게 없습니다. ^ㅁ^... 공부해야지 https://velog.io/@taeha7..
2022.02.03 -
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] 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 -
simple-ssti 풀이
우선 URL 뒤에 /{{4*4}}를 입력해보겠습니다. 문제 이름 자체가 SSTI니까 예상대로라면 /16이 화면에 출력될 것입니다. 코드를 보니 app.secret_key에 FLAG가 들어있다고 되어있습니다. 아무래도 app.secret_key의 값을 화면에 출력시키면 FLAG를 얻을 수 있을 것 같습니다. (+ app.secret_key에 들어있는 정보들을 보려면 URL 뒤에 /{{config}}를 삽입하면 됩니다.) 이번 문제는 점수에 비해 좀 많이 헤맨 것 같습니다. flask 지식이 빈약해서 그런 것 같네요....ㅎ
2021.11.17