Modus Onveilig Pogingen 0 Gebypast 0 Data-lekkage Nee Sim actief

//Login-formulier (probeer aanval)

Vul handmatig in of klik een payload-knop. Schakel "Prepared statement" om de fix te zien.

//Voorbeeld-payloads

//Wat gebeurt er?

Modus: Onveilig, string-concat in SQL.

// klik "Login" of kies een payload
Nog geen poging.

//Scenario's

Klik om een scenario uit te voeren. Counter loopt automatisch op.

//Log ACTIVE

Tijd Input Query Result
Geen pogingen. Probeer een payload.

// Wat is SQL injection?

SQL injection is een aanval waarbij iemand code typt in een gewoon invoerveld (zoals een loginscherm). Als de website die invoer rechtstreeks in een database-vraag plakt, kan de aanvaller die vraag aanpassen, zoals "geef alle wachtwoorden" of "log mij in zonder wachtwoord". SQL Injection (SQLi) ontstaat als user-input ongesanitiseerd in een SQL-statement wordt geconcateneerd. De aanvaller breekt uit de stringcontext en injecteert SQL-syntax (comments, UNION, stacked queries, time-based blind) om auth te bypassen of data te exfilteren. Klassiek OWASP A03.

// Prepared statements vs string-concat

Onveilig: "SELECT * FROM users WHERE name='" + input + "'"
De input wordt onderdeel van de query. Code en data lopen door elkaar.

Veilig (prepared): "SELECT * FROM users WHERE name=?" met ? als parameter. De query-engine kent de structuur vooraf, de input is altijd alleen data, nooit uitvoerbare SQL. Zo kan een ' of -- in de input geen kwaad meer.

Andere maatregelen: input-validatie, least-privilege DB-accounts, WAF, ORMs die parameteriseren.

// Bekende cases

  • Heartland Payment Systems (2008): 134 miljoen creditcards gelekt via SQLi.
  • Sony Pictures (2011): LulzSec dumpte gebruikersdata uit hun database via SQLi.
  • MOVEit Transfer (2023): Cl0p-ransomware gebruikte een SQLi-0day. Honderden organisaties getroffen.
  • TalkTalk UK (2015): 156k klanten gelekt, ·£400k boete door ICO.