web-dev-qa-db-fra.com

Comment déterminer par programme la version Joomla d'un site Web sur lequel je ne dispose d'aucun privilège d'administration?

Je crée un outil d'audit en utilisant PHP) où je peux soumettre l'URL d'un site Web Joomla et effectuer un certain nombre de contrôles sur le site Web cible, notamment pour déterminer le numéro de version de Joomla installé. Je n'ai pas les privilèges 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 quel contenu de fichier je dois vérifier pour pouvoir prédire en toute confiance la version de Joomla installée sans disposer de privilèges d'administration sur le site Web cible de Joomla?

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., de sorte que je sais s'il est bien entretenu ou non.

10
Neil Robertson

Je pense que vous devez télécharger et installer toutes les versions de Joomla et vérifier quels fichiers sont uniques.

Les fichiers index.html des différentes versions de Joomla constituent également un bon point de départ. Il y a eu une modification 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.

Lors de la prochaine édition, le code XML vous donnerait un bon point de départ, à condition qu'il ne soit pas bloqué.

for Joomla >=1.6 ?
administrator/manifests/libraries/joomla.xml
for Joomla <= 1.5
you could check some other xml files.
9
Harald Leithner

Il y a un bel article sur Gavick à ce sujet:

https://www.gavick.com/magazine/how-to-check-the-version-of-joomla.html

qui mène à ce plugin pour Chrome:

https://chrome.google.com/webstore/detail/joomla-version-check/nfbncfldblphagigkamkhnjnhjkdlnii

Ce que je viens d'installer ... ça fait tout ce que tu veux. Il y a un petit logo Joomla dans la barre d'adresse et si vous cliquez dessus, il vous indique la version de joomla en cours d'exécution.

4
Brian Peat

La version est stockée dans la classe JVersion. C'est dedans /libraries/cms/version/version.php donc vous pouvez l’analyser d’une manière ou d’une autre.

4
Dmitry Rekun

Vous pouvez vérifier les fichiers par défaut sur l’installation joomla locale/distante à l’adresse suivante:

/ 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 à identifier la version.

Par exemple: Joomla 3.8.3 aura toutes les mises à jour SQL des versions précédentes jusqu'au

3.8.2-2017-10-14.sql

de même, pour la version 3.4.3

3.4.0-2015-02-26.sql

si vous voulez exécuter brute-force pour identifier la version, voici la liste des fichiers SQL sur lesquels vous pouvez 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.sql 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 ne vous donnera peut-être pas la version exacte, mais au moins vous aidera-t-il à identifier la version principale.

1
shyam somana

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 pour un fichier statique commun (vous pouvez par exemple choisir le fichier de script jQuery), il est probable que le système vous indiquera quand ce fichier a été installé ou empaqueté. Vous pouvez comparer cela à la date actuelle et/ou à la date de la dernière mise à jour de sécurité pour avoir une assez bonne idée de l'état de maintenance du site.

La date du fichier peut être réglée de différentes manières. Elle n'est donc pas fiable à 100%, mais plutôt bonne, et présente l'avantage d'être applicable à de nombreux types de serveurs et de logiciels.

1
mc0e