-
Pergunte ao invasor. Eles entraram em contato com você (em vez de ficar quieto e apenas vender a informação), então presumivelmente eles também querem ajudá-lo.
-
Verifique todas suas consultas SQL, procurando por escape de entrada perdida e coisas do tipo. Fique de olho nas consultas para a tabela de usuários, especialmente se você fizer um
SELECT *
. -
Evite SELECT * o máximo que puder - basta selecionar os campos de que precisa.
-
htmlentities não escapa corretamente os dados a serem inseridos nas consultas SQL. Você deve sempre usar mysql_real_escape_string para isso. htmlentities e htmlspecialchars são usados para limpar os dados antes de serem exibidos no navegador.
-
Considere o uso de declarações preparadas, por exemplo, com PDO . Isso facilitará enormemente a tarefa de proteger contra injeções de SQL, já que os dados não precisam ter nenhum escape. (você ainda precisa de htmlentities antes de retornar ao navegador, mas o XSS é um tópico diferente).