CSP BYPASS 문제이다.드림핵과 웹해킹.kr 두 문제를 풀어보니 거의 비슷한 문제여서 한번에 writeup을 작성하려 한다.먼저 본격적인 풀이 전에 CSP에 대해 간단히 알아보자면 XSS를 방지하기 위해 태그들에 여러 규칙을 정의해 놓은걸 뜻한다.뭐 예를 들어 1. noncenonce를 지정해주면 ' return f''memo_text = ""@app.route("/memo")def memo(): global memo_text text = request.args.get("memo", "") memo_text += text + "\n" return render_template("memo.html", memo=memo_text, nonce=nonce)app.run(ho..
Web Hacking/DreamHack
admin권한을 가진 사용자로 로그인하면 되는 문제이다.#!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_for, session, gimport sqlite3import hashlibimport osimport time, randomapp = Flask(__name__)app.secret_key = os.urandom(32)DATABASE = "database.db"userLevel = { 0 : 'guest', 1 : 'admin'}MAXRESETCOUNT = 5try: FLAG = open('./flag.txt', 'r').read()except: FLAG..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
#!/usr/bin/python3import hashlib, os, binascii, random, stringfrom flask import Flask, request, render_template, redirect, url_for, session, g, flashfrom functools import wrapsimport sqlite3from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import Byfrom promise import Promiseapp = Flask(__name__)app.secret_key = os.urandom(32)DAT..