Files
Open_Ultra_SAST/benchmarks/pairs/vibe-py/threatbyte-routes-dashboard/vuln.py
T

37 lines
1.4 KiB
Python
Raw Normal View History

# Provenance: anotherik/ThreatByte dashboard (vuln).
# repo: anotherik/ThreatByte
# commit: c4db46f72586c4ecb65859051ea037018dbf0e5e
# parent: c4db46f72586c4ecb65859051ea037018dbf0e5e
# commit_url: https://github.com/anotherik/ThreatByte/blob/c4db46f72586c4ecb65859051ea037018dbf0e5e/server/routes.py#L137
# cve:
# license: MIT
# function: dashboard
# relpath: server/routes.py
# provenance: human
# mechanism: source_reaches_sink
def dashboard():
# Check if the user is logged in
if 'username' in session:
search_query = request.args.get('search', '')
# Get user_id from the session username
with get_db_connection() as conn:
cursor = conn.cursor()
query = "SELECT id FROM users WHERE username = ?"
cursor.execute(query, (session['username'],))
user = cursor.fetchone()
user_id = user['id']
if search_query:
s_query = f"SELECT filename FROM files WHERE user_id = {user_id} AND filename LIKE '%{search_query}%'"
cursor.execute(s_query)
else:
cursor.execute("SELECT filename FROM files WHERE user_id = ?", (user_id,))
files = [row['filename'] for row in cursor.fetchall()]
return render_template('dashboard.html', files=files, search_query=search_query)
else:
return redirect(url_for('login'))