Parece que o feitiço se virou contra o feiticeiro, mas segundo informação disponibilizadas no site Techie Buzz, a página oficial do projecto MySQL (motor de base de dados bastante popular) foi atacado através de um mecanismo denominado de SQLInjection (alguns sites referem que foram utilizados mecanismos mais elaborados como XSS e blind SQLi).
Ao que tudo indica, além do ataque ter sido efectuado com sucesso foram ainda “roubados” dados importantes da empresa. O ataque ao que consta foi realizado através de uma página de consulta de cliente, tendo já sido divulgadas algumas passwords, inclusive a de um Director de produtos do MySQL com apenas 4 dígitos. Algumas passwords de administradores do serviço blogs.mysql.com foram também já tornadas públicas.
Mas como funciona um ataque de SQL Injection?
O SQL injection tal como o nome indica é um mecanismo que permite “injectar” instruções SQL dentro de uma consulta (query) realizada à base de dados. Desta forma, o hacker pode “construir” a query SQL e obter informações privilegiadas que se encontram guardadas na base de dados (ex. passwords de utilizadores).
Imaginem por exemplo um formulário HTML para autenticação de um utilizador num determinado site. Depois do utilizador carregar no botão enviar, é executado no MySQL a seguinte query SQL:
SELECT user,passwd FROM users WHERE user = 'pplware' AND passwd='123456'
Os dados user e passwd são passados via POST numa query do tipo:
SELECT user,passwd FROM users WHERE user = '$user' AND passwd='$passwd';
Agora imaginem que é um hacker e que no campo password colocou:
'123456';DROP TABLE users;
Neste caso a query ficava algo do tipo:
SELECT user,passwd FROM users WHERE user = 'pplware' AND passwd='123456';DROP table users;
Veja uma demonstração de como funciona o mecanismo SQL Injection:
Caso seja um utilizador com conta no site mysql.com é aconselhável que proceda rapidamente à alteração da sua password.