2010-02-14 11 views
3

Existe-t-il un moyen d'exécuter des commandes à l'aide d'attaques de traversée de répertoire?Utilisation de l'attaque de traversée de répertoire pour exécuter des commandes

Par exemple, je l'accès comme ce

http://server.com/..%01/..%01/..%01//etc/passwd 

fichier etc/passwd d'un serveur est-il un moyen d'exécuter une commande à la place? Comme ...

http://server.com/..%01/..%01/..%01//ls 

... et obtenir une sortie?

Pour être clair ici, j'ai trouvé la vuln dans le serveur de notre société. Je cherche à augmenter le niveau de risque (ou des points bonus pour moi) en prouvant qu'il peut donner un attaquant complet accès au système

Répondre

1

Si vous êtes en mesure d'afficher/etc/passwd en raison de la racine du document ou de l'accès au répertoire pas correctement configuré sur le serveur, la présence de cette vulnérabilité ne signifie pas automatiquement vous peut exécuter les commandes de votre choix.D'autre part, si vous pouvez voir les entrées de/etc/passwd à la suite de l'application web en utilisant l'entrée utilisateur (nom de fichier) dans les appels comme popen, exec, system, shell_exec, ou les variantes sans assainissement adéquat, alors vous pourrez peut-être exécuter des commandes arbitraires. Chroot sous Linux est facilement cassable (contrairement à FreeBSD).

0

Sauf si le serveur web est complètement hideusement programmé par quelqu'un sans aucune idée de ce qu'ils sont faire, en essayant d'accéder à ls en utilisant cela (en supposant que cela fonctionne même) se traduirait par vous voir le contenu du binaire ls, et rien d'autre.

Ce qui n'est probablement pas très utile.

0

Éditer # 2: J'ai édité mes commentaires car ils ont été jugés sarcastiques et contondants. Ok maintenant plus d'informations vient de gAMBOOKa à ce sujet, Apache avec Fedora - que vous devriez avoir mis dans la question - je dirais:

  • Poster sur le forum Apache, vous mettant en lumière diffusez dernière version d'Apache et le fonctionnement sur Fedora et soumettre l'exploit à eux.
  • Publier sur le forum de Fedora, encore une fois, en soulignant que vous utilisez la dernière version d'Apache et soumettre l'exploit à eux.
  • Il convient de noter, inclure le httpd.conf aux deux sites lors de la publication sur leurs forums. Pour limiter l'accès aux fichiers passwd, examinez l'exécution d'Apache dans un environnement sandbox/chroot dans lequel tous les autres fichiers tels que passwd ne sont pas visibles en dehors de l'environnement sandbox/chroot ... avez-vous une boîte de réserve pour expérimenter avec ou utilisez VMWARE pour simuler l'environnement identique que vous utilisez pour Apache/Fedora - essayez d'obtenir un environnement IDENTICAL et faites fonctionner le serveur httpd dans VMWare, et accédez à distance à la machine virtuelle pour vérifier si l'exploit est encore visible. Puis chroot/sandbox et réexécutez l'exploit à nouveau ...
  • Documentez pas à pas de le reproduire et d'inclure une recommandation jusqu'à ce qu'un correctif soit trouvé, pendant ce temps, si l'impact sur le serveur Web s'exécutant dans le sandbox est minimal/chroot environnement - les pousser à le faire ...

Hope this helps, Meilleures salutations, Tom.

+0

@gamBOOKa: vérifier ici http: // stackoverflow.com/questions/1547012/where-hackers-hang-out – t0mm13b

+0

Veuillez voir la question éditée. Cela clarifie ma position. Je ne suis pas une personne de sécurité, en fait, notre société n'en a pas. Je voudrais donc régler ce problème. Mon chef de projet risque de ne pas tenir compte d'une vulnérabilité d'accès en lecture seule par opposition à une vulnérabilité d'accès complet. – HyderA

+0

@gAMBOOKa: Wow! Une vulnérabilité - quel type de serveur utilisez-vous pour que cela se produise - Montrez à votre patron cette page sur SO et pointez votre doigt sur ceci pour voir .... à moins que vous nous disiez quel serveur ... nous pouvons peut-être pouvoir vous aider ... Je pense que vous devriez mettre cela dans votre question, que votre serveur exécute le logiciel x. Vous obtiendrez une meilleure réponse ....;) Si c'est sérieux, votre chef de projet DEVRAIT VOUS ÊTRE À L'ÉCOUTE et ne pas le considérer comme une 'vulnérabilité d'accès en lecture seule' ..... – t0mm13b

2

Une meilleure solution consiste à activer SELinux et exécuter Apache bac à sable SELinux:

run_init /etc/init.d/httpd restart 

Assurez-vous que vous avez mod_security installé et correctement configuré.

0

Si vous pouvez déjà voir etc/passwd alors le serveur doit être mal configuré ... Si vous voulez vraiment exécuter des commandes, vous devez connaître le script php qui s'exécute sur le serveur s'il y a une commande system() pour que vous puissiez passer des commandes à travers l'url .. par exemple: url? command = ls essayer d'afficher les fichiers .htaccess .... il peut faire l'affaire ..