Attacchi da manuale

Non mi dilungherò in descrizioni manualistiche di codice vulnerabile e relativi attacchi. Volevo solo fare un rapido appunto su del codice che ho recentemente visto prodotto da una società che fornisce clienti molto grossi e con notevole reputazione da difendere. Quando uno si trova davanti a qualcosa tipo

function validateUser($username, $password) {
  $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
  // Resto del codice irrilevante...
}

la prima cosa che pensa è provare a usare admin'# come nome utente e qualsiasi cosa come password (anche nulla, eventualmente). La seconda cosa che succede è che l’attacco riesce. La terza cosa è che, per dire, il sito viene defacciato, o gli iscritti alla newsletter si vedono recapitare quintali di spam da una fonte che ritengono legittima. Con un attacco che ormai non trova più spazio nemmeno nelle introduzioni dei manuali di sicurezza.

A me, quando vedo queste cose, mi girano le palle. Fortissimo.

Commenti

GiRa » 

Molto fortissimo!

Tommy » 

Io invece non mi sorprendo più :-P
Ne ho visto uno giusto l’altro giorno, e mi sembra situazione piuttosto diffusa.
Se pensi che uno degli innumerevoli attacchi (riusciti) ad un servizio Sony l’anno scorso ha portato al furto di migliaia di account proprio con un’SQL Injection…

Andrea Franceschini » 

Sì, ma così è troppo facile. Spero che almeno quelli che hanno bucato Sony abbiano dovuto faticare un po’ di più :P

Rispondi