Comment puis-je trouver la version d'Apache en cours d'exécution sans accès à la ligne de commande?
J'ai besoin de trouver un fichier dans lequel la version est codé ou d'un mode de scrutin à travers le web, de sorte qu'il révèle sa version. Le serveur est en cours d'exécution à un hôte qui ne va pas me donner la ligne de commande d'accès, même si je peux parcourir l'emplacement d'installation par FTP.
J'ai essayé de la TÊTE et de ne pas obtenir un numéro de version indiqué.
Si j'essaie une page manquante pour obtenir une erreur 404, il est intercepté, et un stock page est retourné, qui n'a pas de serveur d'informations sur elle. Je suppose que les points pour le serveur durci.
Pas encore de plus près...
J'ai mis un fichier PHP comme suggéré, mais je ne peux pas naviguer à elle et ne trouve pas le chemin de l'URL qui permettrait de le charger. En tout cas, je reçois beaucoup de refus d'accès des messages et le même stock de la page d'erreur 404. Je prends un peu de réconfort de savoir que le serveur est assez robuste protégé.
- vous pouvez exécuter des commandes shell dans les scripts sur le serveur?
- bonne question, je ne sais pas. Je vais avoir un aller
- Vous pouvez installer PHPShell à partir de phpshell.sourceforge.net qui vous permettra d'avoir un sac autour de
Vous devez vous connecter pour publier un commentaire.
La méthode
Connecter sur le port 80 sur l'hôte et de l'envoyer
Il doit être suivi par un retour chariot + saut de ligne à deux reprises
Vous allez obtenir quelque chose comme ceci
Vous pouvez ensuite extraire la version d'apache du Serveur: en-tête de
Typique outils que vous pouvez utiliser
Vous pouvez utiliser la TÊTE de l'utilitaire qui est livré avec une installation complète de Perl LWP de la bibliothèque, par exemple
Ou, utilisez la curl utilitaire, par exemple
Vous pouvez également utiliser une extension de navigateur qui vous permet de visualiser serveur têtes, comme Live HTTP Headers ou Firebug pour Firefox, ou Fiddler pour IE
Coincé avec Windows?
Enfin. si vous êtes sur Windows, et n'ont rien d'autre à votre disposition, ouvrez une invite de commande (Menu Démarrer->Exécuter, tapez "cmd" et appuyez sur la touche retour), puis tapez ce
Puis tapez (avec soin, vos personnages ne seront pas renvoyées)
Appuyez sur la touche retour, deux fois et vous verrez le serveur têtes.
D'autres méthodes
Comme mentionné par cfeduke et Veynom, le serveur est peut-être le retour de l'information limitée sur le Serveur: en-tête. Essayer et télécharger un script PHP pour votre accueil dans cette il
La demande de la page avec un navigateur web et vous devriez voir la version d'Apache signalé.
Vous pouvez également essayer et utiliser PHPShell d'avoir une fouiner, essayer une commande comme
Stuck with Windows?
, j'ai essayé d'envoyerHEAD
mais il montreHTTP/1.1 503 Service Temporarily Unavailable
httpd -v
va vous donner la version d'Apache en cours d'exécution sur votre serveur (si vous avez SSH/accès shell).La sortie doit être quelque chose comme ceci:
Comme cela a été suggéré, vous pouvez également faire
apachectl -v
qui vous donnera le même résultat, mais seront pris en charge par plus de saveurs de Linux.apache2
, pashttpd
Rarement, un durcissement du serveur HTTP est configuré de manière à ne donner aucune information de serveur ou trompeuse informations sur le serveur. Dans ces scénarios, si le serveur dispose de PHP est activé, vous pouvez ajouter:
dans un fichier et de le parcourir et recherchez le
entrée. C'est sujette à la même trempe manque d'information/trompeur cependant, j'imagine qu'il n'est pas altérée souvent, parce que cette méthode nécessite tout d'abord de l'accès à la machine pour créer le fichier PHP.
Avertissement, certains serveurs Apache ne sont pas toujours d'envoyer leur numéro de version lors de l'utilisation de la TÊTE, comme dans ce cas:
Si PHP est installé alors en effet, il suffit d'utiliser le php info commande:
phpinfo()
ne révèlent pas toujours la version d'Apache, du moins, pas lors de l'utilisation de CGI/FastCGI.Le niveau de version de l'information donnée par un serveur Apache peut être configuré par le ServerTokens paramètre dans sa configuration.
Je crois qu'il est aussi un paramètre qui contrôle si la version s'affiche dans le serveur de pages d'erreur, bien que je ne me souviens pas de ce qu'il est sur le dessus de ma tête. Si vous n'avez pas un accès direct au serveur, et l'administrateur du serveur est compétent et qu'il ne veut pas que vous sachiez que la version qu'ils sont en cours d'exécution... je pense que vous pouvez peut-être SOL.
Telnet à l'hôte sur le port 80.
Type:
C'est gentil d'une requête HTTP, mais il n'est pas valide si l'erreur 500, il vous donne vous donnera probablement les informations que vous souhaitez. Les lignes vides à la fin sont importants, sinon il sera simplement semblent pendre.
Si elles ont des pages d'erreur est activé, vous pouvez aller à une page inexistante et regardez au bas de la page 404.
Votre meilleure option est par le biais de PHP:
Toutes les versions des demandes par le client ne peut pas être digne de confiance depuis votre Apache peut être configuré avec ServerTokens Prod et ServerSignature Off. Voir: http://www.petefreitag.com/item/419.cfm
Dans l'installation par défaut, appelez une page qui n'existe pas et vous obtenez une erreur avec la version à la fin:
Simplement utiliser quelque chose comme la suite de la chaîne doit être déjà là:
Utiliser ce script PHP:
Se apache_get_version.