Je crée un outil d'audit utilisant PHP où je peux soumettre l'url d'un site Web Joomla et exécuter un certain nombre de vérifications sur le site Web cible, y compris la détermination du numéro de version Joomla installé. Je n'ai aucun privilège d'administration sur le site Web Joomla cible ou sur le serveur sur lequel il réside.
Quelqu'un peut-il me dire quels fichiers et contenus de fichiers je dois vérifier pour pouvoir prédire en toute confiance la version de Joomla installée sans avoir de privilèges d'administration sur le site Web Joomla cible?
Je suis intéressé non seulement à savoir si le site Web est Joomla 2.5 (par exemple), mais aussi s'il s'agit de Joomla 2.5.18 ou 2.5.19 etc. Je sais donc s'il est bien entretenu ou non.
Réponses:
Je pense que vous devez télécharger et installer toutes les versions de Joomla et vérifier quels fichiers sont uniques.
Un autre bon point de départ est les fichiers index.html dans les différentes versions de Joomla, il y a eu un changement du contenu iirc.
Sur la base du commentaire de @ brian-a-peat, vous pouvez vérifier la couleur de la section admin.
c'est peut-être la meilleure approche pour vérifier la somme de contrôle des fichiers css par exemple.
Prochaine édition, bon le XML vous donnerait vraiment un bon point de départ tant qu'il n'est pas bloqué.
la source
Il y a un bel article sur Gavick à ce sujet:
https://www.gavick.com/magazine/how-to-check-the-version-of-joomla.html
ce qui conduit à ce plugin pour Chrome:
https://chrome.google.com/webstore/detail/joomla-version-check/nfbncfldblphagigkamkhnjnhjkdlnii
Ce que je viens d'installer ... il fait totalement ce que vous voulez. Il y a un petit logo Joomla dans la barre d'adresse et si vous cliquez dessus, il vous indique la version de joomla qui fonctionne.
la source
La version est stockée dans la
JVersion
classe. Il se/libraries/cms/version/version.php
peut que vous puissiez l'analyser d'une manière ou d'une autre.la source
Vous pouvez choisir de vous concentrer sur les dates plutôt que sur les versions en tant que telles. Par exemple, si vous regardez la date de modification dans les en-têtes d'un fichier statique commun (par exemple, vous pouvez choisir le fichier de script jquery), il est probable que vous sachiez quand ce fichier a été installé ou empaqueté. Vous pouvez comparer cela avec la date actuelle et / ou la date de la dernière version de sécurité pour avoir une assez bonne idée de l'état de maintenance du site.
Il existe de nombreuses façons de définir la date du fichier, donc ce n'est pas fiable, mais c'est généralement assez bon, et a l'avantage d'être applicable à de nombreux types de serveurs et de logiciels.
la source
Vous pouvez vérifier les fichiers par défaut sur l'installation joomla locale / distante à l'adresse
/ administrateur / composants / com_admin / sql / mises à jour / sqlazure / administrateur / composants / com_admin / sql / mises à jour / mysql / administrateur / composants / com_admin / sql / mises à jour / postgresql
Ces dossiers contiennent des mises à jour SQL qui vous aideront à prendre les empreintes digitales de la version.
Par exemple: Joomla 3.8.3 aura toutes les mises à jour SQL pour les versions précédentes jusqu'à
de même, pour la version 3.4.3
si vous souhaitez exécuter la force brute pour identifier la version, voici la liste des fichiers sql contre lesquels vous voudrez peut-être exécuter:
2.5.0-2011-12-06.sql 2.5.0-2011-12-16.sql 2.5.0-2011-12-19.sql 2.5.0-2011-12-20.sql 2.5.0-2011- 12-21-1.sql 2.5.0-2011-12-21-2.sql 2.5.0-2011-12-22.sql 2.5.0-2011-12-23.sql 2.5.0-2011-12- 24.sql 2.5.0-2012-01-10.sql 2.5.0-2012-01-14.sql 2.5.1-2012-01-26.sql 2.5.2-2012-03-05.sql 2.5.3 -2012-03-13.sql 2.5.4-2012-03-18.sql 2.5.4-2012-03-19.sql 2.5.5.sql 2.5.6.sql 2.5.7.qs 3.0.0.sql 3.0.1.sql 3.0.2.sql 3.0.3.sql 3.1.0.sql 3.1.1.sql 3.1.2.sql 3.1.3.sql 3.1.4.sql 3.1.5.sql 3.2.0.sql 3.2.1.sql 3.2.2-2013-12-22.sql 3.2.2-2013-12-28.sql 3.2.2-2014-01-08.sql 3.2.2-2014-01-15.sql 3.2 .2-2014-01-18.sql 3.2.2-2014-01-23.sql 3.2.3-2014-02-20.sql 3.3.0-2014-02-16.sql 3.3.0-2014-04 -02.sql 3.3.4-2014-08-03.sql 3.3.6-2014-09-30.sql 3.4.0-2014-08-24.sql 3.4.0-2014-09-01.sql 3.4. 0-2014-09-16.sql 3.4.0-2014-10-20.sql 3.4.0-2014-12-03.sql 3.4.0-2015-01-21.sql 3.4.0-2015-02-26.sql 3.5.0-2015-07-01.sql 3.5.0-2015-10-13.sql 3.5.0-2015-10-26.sql 3.5.0-2015-10- 30.sql 3.5.0-2015-11-04.sql 3.5.0-2015-11-05.sql 3.5.0-2016-02-26.sql 3.5.0-2016-03-01.sql 3.5.1 -2016-03-25.sql 3.5.1-2016-03-29.sql 3.6.0-2016-04-01.sql 3.6.0-2016-04-06.sql 3.6.0-2016-04-08 .sql 3.6.0-2016-04-09.sql 3.6.0-2016-05-06.sql 3.6.0-2016-06-01.sql 3.6.0-2016-06-05.sql 3.6.3- 2016-08-15.sql 3.6.3-2016-08-16.sql 3.7.0-2016-08-06.sql 3.7.0-2016-08-22.sql 3.7.0-2016-08-29. sql 3.7.0-2016-09-29.sql 3.7.0-2016-10-01.sql 3.7.0-2016-10-02.sql 3.7.0-2016-11-04.sql 3.7.0-2016 -11-19.sql 3.7.0-2016-11-21.sql 3.7.0-2016-11-24.sql 3.7.0-2016-11-27.sql 3.7.0-2017-01-08.sql 3.7.0-2017-01-09.sql 3.7.0-2017-01-15.sql 3.7.0-2017-01-17.sql 3.7.0-2017-01-31.sql 3.7.0-2017- 02-02.sql 3.7.0-2017-02-15.sql 3.7.0-2017-02-17.sql 3.7.0-2017-03-03.sql 3.7.0-2017-03-09.sql 3 .7.0-2017-03-19.sql 3.7.0-2017-04-10.sql 3.7.0-2017-04-19.sql 3.7.3-2017-06-03.sql 3.7.4-2017-07- 05.sql 3.8.0-2017-07-28.sql 3.8.0-2017-07-31.sql 3.8.2-2017-10-14.sql
Cela peut ne pas vous donner la version exacte mais au moins vous aide à identifier la version principale.
la source