Estoy creando una herramienta de auditoría usando PHP donde puedo enviar la url de un sitio web de Joomla y ejecutar una serie de comprobaciones en el sitio web de destino, incluida la determinación del número de versión de Joomla instalado. No tengo privilegios de administración en el sitio web objetivo de Joomla o en el servidor en el que reside.
¿Alguien puede decirme qué archivos y contenido de archivos necesito verificar para poder predecir con confianza la versión de Joomla instalada sin tener ningún privilegio de administración en el sitio web de destino de Joomla?
Estoy interesado no solo en saber si el sitio web es Joomla 2.5 (por ejemplo), sino también si es Joomla 2.5.18 o 2.5.19, etc., así que sé si está bien mantenido o no.
Respuestas:
Creo que debe descargar e instalar todas las versiones de Joomla y verificar qué archivos son únicos.
También un buen punto de partida son los archivos index.html en las diferentes versiones de Joomla, hubo un cambio en el contenido de iirc.
Según el comentario de @ brian-a-peat, puede verificar el color de la sección de administración.
ese es quizás el mejor enfoque para verificar la suma de verificación de los archivos css, por ejemplo.
Siguiente edición, bueno, el XML realmente le daría un buen punto de partida siempre que no esté bloqueado.
fuente
Hay un buen artículo sobre Gavick con respecto a esto:
https://www.gavick.com/magazine/how-to-check-the-version-of-joomla.html
que lleva a este complemento para Chrome:
https://chrome.google.com/webstore/detail/joomla-version-check/nfbncfldblphagigkamkhnjnhjkdlnii
Lo que acabo de instalar ... hace totalmente lo que quieres. Hay un pequeño logotipo de Joomla en la barra de direcciones y si hace clic en él, le indica la versión de joomla que se está ejecutando.
fuente
La versión se almacena dentro de la
JVersion
clase. Es/libraries/cms/version/version.php
así que puede ser que pueda analizarlo de alguna manera.fuente
Puede optar por centrarse en las fechas en lugar de las versiones como tales. Por ejemplo, si observa la fecha de modificación en los encabezados de un archivo estático común (por ejemplo, tal vez podría elegir el archivo de script jquery), es probable que le indique de manera efectiva cuándo se instaló o empaquetó ese archivo. Puede comparar eso con la fecha actual y / o la fecha de la última versión de seguridad para tener una idea bastante buena del estado de mantenimiento del sitio.
Hay una variedad de formas en que se puede configurar la fecha del archivo, por lo que esto no es 100 confiable, pero es bastante bueno y tiene la ventaja de ser aplicable en muchos tipos diferentes de servidores y software.
fuente
Puede verificar los archivos predeterminados en la instalación local / remota de joomla en
/ administrador / componentes / com_admin / sql / updates / sqlazure / administrador / components / com_admin / sql / updates / mysql / administrador / components / com_admin / sql / updates / postgresql
Estas carpetas contienen actualizaciones de SQL que ayudarán a identificar la versión.
Por ejemplo: Joomla 3.8.3 tendrá todas las actualizaciones de SQL para versiones anteriores hasta
Del mismo modo, para la versión 3.4.3
si desea ejecutar fuerza bruta para identificar la versión, a continuación se muestra la lista de archivos sql con los que puede querer ejecutar:
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
Es posible que esto no le proporcione la versión exacta, pero al menos le ayuda a identificar la versión principal.
fuente