it-swarm-es.tech

¿Cómo puedo determinar programáticamente la versión de Joomla de un sitio web en el que no tengo privilegios de administración?

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 cualquier privilegio de administración en el sitio web de destino de Joomla o 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.

10
Neil Robertson

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.

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

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.

4
Brian Peat

La versión se almacena dentro de la clase JVersion. Está dentro /libraries/cms/version/version.php así que puedes analizarlo de alguna manera.

4
Dmitry Rekun

Puede verificar los archivos predeterminados en la instalación de joomla local/remota en

/ administrador/componentes/com_admin/sql/updates/sqlazure/administrador/components/com_admin/sql/updates/mysql/administrator/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

3.8.2-2017-10-14.sql

del mismo modo, para la versión 3.4.3

3.4.0-2015-02-26.sql

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.

1
shyam somana

Puede elegir centrarse en las fechas en lugar de las versiones como tales. P.ej. 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 en su mayoría es bastante bueno y tiene la ventaja de ser aplicable en muchos tipos diferentes de servidores y software.

1
mc0e