php7cmp4re
·
DreamHack/WEB
php7cmp4re http://host3.dreamhack.games:10711/ Index page "7.9"){ if(strlen($input_2) 1){ if($input_2 "74"){ echo "FLAG\n"; echo $flag; echo ""; } else echo "Good try."; } else echo "Good try."; } else echo "Try again."; ..
sql injection bypass WAF
·
DreamHack/WEB
문제 화면이다. 소스코드와 SQL를 하면 봐보자.       import osfrom flask import Flask, requestfrom flask_mysqldb import MySQLapp = Flask(__name__)app.config['MYSQL_HOST'] = os.environ.get('MYSQL_HOST', 'localhost')app.config['MYSQL_USER'] = os.environ.get('MYSQL_USER', 'user')app.config['MYSQL_PASSWORD'] = os.environ.get('MYSQL_PASSWORD', 'pass')app.config['MYSQL_DB'] = os.environ.get('MYSQL_DB', 'users')mysql = M..
blind sql injection advanced
·
DreamHack/WEB
나는 많이 어려웠는데 왜 이리 잘하는 사람들이 많은 거야         import osfrom flask import Flask, request, render_template_stringfrom flask_mysqldb import MySQLapp = Flask(__name__)app.config['MYSQL_HOST'] = os.environ.get('MYSQL_HOST', 'localhost')app.config['MYSQL_USER'] = os.environ.get('MYSQL_USER', 'user')app.config['MYSQL_PASSWORD'] = os.environ.get('MYSQL_PASSWORD', 'pass')app.config['MYSQL_DB'] = os.environ.get..
command-injection-chatgpt
·
DreamHack/WEB
#!/usr/bin/env python3import subprocessfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__name__)@APP.route('/')def index(): return render_template('index.html')@APP.route('/ping', methods=['GET', 'POST'])def ping(): if request.method == 'POST': host = request.form.get('host') cmd = f'ping -c 3 {host}' try: output =..
error based sql injection
·
DreamHack/WEB
이게 왜 Simple이라는 거지             import osfrom flask import Flask, requestfrom flask_mysqldb import MySQLapp = Flask(__name__)app.config['MYSQL_HOST'] = os.environ.get('MYSQL_HOST', 'localhost')app.config['MYSQL_USER'] = os.environ.get('MYSQL_USER', 'user')app.config['MYSQL_PASSWORD'] = os.environ.get('MYSQL_PASSWORD', 'pass')app.config['MYSQL_DB'] = os.environ.get('MYSQL_DB', 'users')mysql = MySQL..
rev-basic-8
·
DreamHack/Reverising
IDA로 파일을 실행시켜 보자.          'Correct'가 출력돼야 하니 sub_14001000을 확인          unsigned __int8 : 0부터 255까지의 값을 갖는 부호 없는 8비트 정수 a1은 한정적이라고 할 수 있다. '(-5 * *(_byte *)(a1+i) =' a1[i] 의 값을 -5 곱한 후 byte_140003000[i] 와 비교          byte_140003000 배열이다. 종합적으로 uint8_t 은 0~255까지의 값 byte_140003000 배열 값들도 많지가 않다 식은 그대로 가되 unsigned 8-bit로 처리해주고 비교하면 된다. result = (-5 * a1) % 256 수식 : -5 * a1 연산 후에 256으로 나눈 나머지 값들을 쓴다..
simple_sqli_chatgpt
·
DreamHack/WEB
#!/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..
rev-basic-5
·
DreamHack/Reverising
파일을 받아 IDA로 보자.                'Corrcet' 출력을 위해 sub_14001000를 살펴보자.                  수식과 byte_140003000 배열값들을 비교하여 답을 추출하는 문제이다. 식을 정리해보자. if ( *(unsigned __int8 *)(a1 + i + 1) + *(unsigned __int8 *)(a1 + i)!= byte_140003000 [i] )  형변환생략 (a1+i+1)+(a1+i) == byte_140003000[i] (a [i]+1)+(a1[i]) = byte_140003000 [i] byte_140003000 [i]에 대한 배열값들을 보자.    예시(a1[0]+1) + (a1[0]) = byte_140003000[0] = 0xAD..