Contexte
J'ai été engagé pour aider une entreprise à maintenir son serveur. Je travaille sur quelques projets PHP mineurs, mais je regarde également les problèmes de performances et récemment, j'analyse les journaux pour les pirates.
Ces gars utilisent leur serveur depuis un certain temps et ont ce que j'appellerais une application héritée sur ses dernières jambes. Il utilise des guillemets magiques, des variables globales (ce qui permet $id
d'être écrasé par $_GET['id']
), utilise .htaccess comme seule sécurité dans certains cas, vous le nommez. Un cauchemar de sécurité et de programmation.
Nous avons été piratés dans le passé, principalement avec des injections SQL, qui exécuteraient des SLEEP(99999999)
commandes et agiraient comme une attaque DOS. Heureusement, ils ne tenaient pas de "petites tables de bobby",
XKCD: http://xkcd.com/327/
J'ai donc réécrit leurs instructions SQL vulnérables de mysql_query()
(pas mysqli) aux transactions PDO. J'analyse également les requêtes pour SLEEP
et UNION
que nous n'utilisons pas, mais les injections ont. Jusqu'ici tout va bien.
Dernier numéro
Récemment, on nous a dit que les enregistrements changent dans la base de données pour les utilisateurs, tels que leurs adresses e-mail en celles vraisemblablement créées par des spammeurs.
J'ai remarqué que leurs colonnes n'avaient pas de last_modified
colonne, donc nous ne pouvions même pas savoir quand elles étaient changées, encore moins par qui. J'ai ajouté cette colonne, mais c'est à peine une première étape.
Lorsque je regardais dans ce tableau, j'ai remarqué que les mots de passe n'étaient pas salés ni même hachés, juste enregistrés en texte clair.
Communication client
Comment puis-je les approcher de toute la situation, en tant qu'entrepreneur, sans me battre les bras comme un fou? Aucun conseil? Je pensais à une approche calme de
NUMÉRO 1 Synopsis Pourquoi c'est un problème Que peut-il arriver si ce n'est pas résolu Correction suggérée NUMÉRO 2 Synopsis Pourquoi c'est un problème Que peut-il arriver si ce n'est pas résolu Correction suggérée