Re,
Post by Gilles RONSINPost by John GALLETSi ce n'est déjà fait, je pense qu'une question dans
fr.comp.securite aurait plus de chance d'avoir des réponses.
J'y avais pensé, mais ce sont bien les erreurs de programmation en php
qui m'interesse.
Je ne connais pas d'analyseur automatique de code php, seulement des
scanneurs qui testent le comportement de l'application.
Post by Gilles RONSINDe la même façon que les antivirus, ils ne sont "efficaces" que pour la
détection des signatures connues.
J'ai du mal à voir ce que peut bien être une "signature" dans du code
source. Pour avoir essayé moi même de faire des recherches systématisées
lors de certains audits (récemment, un paquet de m***e de plus de 2500
fichiers écrit via MXKart, le soft d'Interakt, plugin générateur de code
pour Dreamweaver), je pense qu'on peut écrire un programme qui va vérifier
les injections possibles de variables dans les chemins des includes (ce
type de truc génère des milliers d'include dynamiques, dans des boucles,
un vrai bohneur), c'est uniquement suivre la source de la donnée. On peut
aussi avoir un signal d'alarme sur des fonctions "dangereuses" du genre
exec/system ou import_request_variables, mais à part ça...
Post by Gilles RONSINPost by John GALLETOu bien comme les sites de controle w3c.
Ce n'est pas la même chose, là il "suffit" de faire coller la DTD au
résultat, c'est du parsing pur, ou de suivre un lien et de faire un HEAD
pour lire la réponse. C'est syntaxique avec une norme forte.
Post by Gilles RONSINIl existe aussi des programmes pour script kiddies, clé en main,
qui recherchent les anomalies de configurations....
Ca, oui, mais c'est bien avec stimulation en aveugle, pas en analyse
syntaxique automatisée, je n'en connais pas.
Post by Gilles RONSINIl me semble qu'il avait détecté, entre autre, la possibilité
d'injecter un texte dans une variable de session qui désignait le nom
d'un fichier log.
Pas inintéressant en soit, même s'il faut encore l'exploiter, ça peut
sentir le roussi selon la config locale et l'injection elle même.
Post by Gilles RONSINEn fait, au vu des réponses, je crois qu'il ne reste que la méthode
classique : utiliser des listes de failles (t'as pas ta liste sous le
coude par hasard ? :-) ), et vérifier si elles s'appliquent.
J'ai écrit une petite galerie des horreurs dans un PDF dispo sur
http://www.saphirtech.fr/securite.html
Ca date un peu, mais je n'ai rien vu de révolutionnaire arriver depuis
concernant PHP en lui même. On peut ajouter des choses dangereures côté
client (les PDF dans la liste des fichiers dangereux à accepter en upload
par exemples, avec leur cochonnerie de JS embarqué) mais je n'ai rien vu
de radicalement différent côté serveur. Bien entendu, le paragraphe sur
"c'est valide grâce à javascript" est encore plus vrai avec "ajax".
Des papiers commencent à circuler sur les nouvelles conneries liées au
stockage côté client de html 5, et ça va être rigolo probablement, mais
pour le moment on y est pas encore.
a++;
JG