CSWH
Code Review - Identifying the Vulnerability
Application Overview
Database Queries (Secure)
def login(username, password):
mydb = mysql.connector.connect(
host="127.0.0.1",
user="db",
password="db-password",
database="db"
)
mycursor = mydb.cursor(prepared=True)
query = 'SELECT * FROM users WHERE username=%s AND password=%s'
mycursor.execute(query, (username, password))
return mycursor.fetchone()
def fetch_messages(username):
mydb = mysql.connector.connect(...)
mycursor = mydb.cursor(prepared=True)
query = 'SELECT message FROM messages WHERE username=%s'
mycursor.execute(query, (username,))
return mycursor.fetchall()Login Endpoint
WebSocket Endpoint (Vulnerable!)
Vulnerability Analysis
Issue
Description
Confirming the Vulnerability
Normal WebSocket Handshake
Cross-Origin Test
Exploitation
Attack Flow
Exploit Code
Exfiltrated Data (interact.sh)
Limitations
SameSite Cookie Attribute
SameSite Value
CSWH Exploitable?
Summary
Prevention
Method
Description
Last updated