Sites
webs: méfiez vous de vos CGI !
Le
langage de script Perl est incontestablement le langage
le plus rapide en terme de traitement de chaînes
de caractères. L'essentiel de l'interactivité
des sites webs se résumant à ce type de
traitement (saisie de formulaires, gestion des entrées
sorties), il est donc tout naturel que le Perl et son
utilisation dans les fameux CGI soient choyés
des utilisateurs... Surtout que de très nombreux
scripts de forums, enchères ou autres sont disponibles
gratuitement sur des sites comme cgi-resources,
freecode,
ou encore Matt's
scripts.
Toutefois, faut-il pour autant faire confiance aveuglément
à ces CGI lorsque l'on est responsable d'un site
de commerce électronique ou d'un site institutionnel
reconnu? Pas si sûr.
Le magazine Phrack
a révélé récemment que la
plupart de ces scripts ne comportaient pas assez de
vérifications sur les paramètres qui leur
sont passés. Notamment, on peut citer l'insertion
par un hacker facétieux d'un %00 dans l'url qui
peut conduire le serveur à donner accès
à l'intégralité de ses fichiers
et répertoires. De nombreux sites de commerce
électronique (dont des français) qui auraient
vu leurs bases découvertes auraient été
piégés par ces problèmes de paramètres
CGI.
La méthode appelée "poison null attack"
(car elle utilise le 00 qui est le caractère null)
pourrait ainsi être utilisées par des hackers
sur plus de 112 000 sites répertoriés dans Altavista
selon TechWeb. Utilisé par 80% des serveurs, Perl et
ses variantes en CGI pourraient se révéler être
de véritables cadeaux empoisonnés pour ses utilisateurs
sans que le langage ne soit remis en cause. C'est simplement
une programmation un peu facile et sans vérification
qui en est la cause. Rappelons que l'ASP, Cold Fusion et PHP
ne sont pas non plus protégés contre les programmeurs
qui codent trop rapidement leurs sources, oubliant trop souvent
les vérifications les plus élémentaires.
La méthode dite "upload bombing" utilise
les mêmes défauts de programmation. Elle
vise les sites proposant à leurs visiteurs de
leur envoyer des fichiers. Il peut s'agir de CV pour
des sites d'emploi ou d'images d'objets pour des sites
d'enchères. Peu de CGI standards vérifiant
le nombre de fichiers envoyés, la méthode
repose sur l'envoi en masse de fichiers pour saturer
le serveur. Pas très élégant...
mais terriblement efficace. Une routine en Perl permet
d'ailleurs d'automatiser l'envoi de fichiers et de saturer
un web en quelques dizaines de minutes sans une seule
opération manuelle.
Faut-il pour autant bannir tous les CGI ? Non, mais la règle
de prudence élémentaire consiste à dédier
un espace du serveur aux cgi, en leur donnant le moins de
droits possibles sur les autres espaces. L'utilisation de
scripts gratuits est aussi à proscrire ou du moins
à limiter avec l'aide d'un expert Perl de la société
d'hébergement du site.
Responsable de rubrique : Alain Steinmann
|
|