# 취약: SQL Injection (문자열 포맷으로 쿼리 생성)
@app.route("/user")
def get_user():
username = request.args.get("username", "")
conn = sqlite3.connect(DB_PATH)
cur = conn.cursor()
query = f"SELECT id, username FROM users WHERE username = '{username}'"
app.logger.warning("DEBUG SQL: %s", query) # 민감 정보 로그 가능
try:
cur.execute(query) # 바인딩 미사용
row = cur.fetchone()
if row:
return {"id": row[0], "username": row[1]}
return {"error": "not found"}, 404
finally:
conn.close()