ti-enxame.com

Como posso determinar programaticamente a versão do Joomla de um site no qual não tenho privilégios de administração?

Estou criando uma ferramenta de auditoria usando PHP), onde posso enviar o URL de um site Joomla e executar várias verificações no site de destino, incluindo a determinação do número da versão instalada do Joomla. quaisquer privilégios de administração no site de destino do Joomla ou no servidor em que reside.

Alguém pode me dizer quais arquivos e conteúdo do arquivo eu preciso verificar para poder prever com segurança a versão do Joomla instalada sem ter privilégios de administração no site Joomla de destino?

Estou interessado não apenas em saber se o site é o Joomla 2.5 (por exemplo), mas também se é o Joomla 2.5.18 ou 2.5.19 etc, por isso sei se ele está sendo bem mantido ou não.

10
Neil Robertson

Eu acho que você precisa baixar e instalar todas as versões do Joomla e verificar quais arquivos são únicos.

Também é um bom ponto de partida os arquivos index.html nas diferentes versões do Joomla, houve uma alteração no conteúdo do iirc.

Com base no comentário de @ brian-a-turfa, você pode verificar a cor da seção de administrador.

talvez seja a melhor abordagem para verificar a soma de verificação dos arquivos css, por exemplo.

Na próxima edição, o XML realmente forneceria um bom ponto de partida, desde que não esteja bloqueado.

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

Há um bom artigo sobre Gavick sobre isso:

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

o que leva a este plug-in para o Chrome:

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

Que acabei de instalar ... faz totalmente o que você deseja. Há um pequeno logotipo do Joomla na barra de endereços e, se você clicar nele, informa a versão do joomla que está sendo executada.

4
Brian Peat

A versão é armazenada dentro da classe JVersion. Está dentro /libraries/cms/version/version.php pode ser que você possa analisá-lo de alguma forma.

4
Dmitry Rekun

Você pode verificar os arquivos padrão na instalação local/remota do joomla em

/ administrator/components/com_admin/sql/updates/sqlazure/administrator/components/com_admin/sql/updates/mysql/administrator/components/com_admin/sql/updates/postgresql

Essas pastas contêm atualizações SQL que ajudarão na impressão digital da versão.

Por exemplo: o Joomla 3.8.3 terá todas as atualizações sql para versões anteriores até

3.8.2-2017-10-14.sql

da mesma forma, para a versão 3.4.3

3.4.0-2015-02-26.sql

se você deseja executar força bruta para identificar a versão, a seguir está a lista de arquivos sql nos quais você pode querer executar:

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-19.sql 2.5.0-2011-12-20.sql 2.5.0-2011-12-19.sql 2.5.0-2011-12-06.sql 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

Isso pode não fornecer a versão exata, mas pelo menos ajuda a identificar a versão principal.

1
shyam somana

Você pode optar por se concentrar nas datas e não nas versões em si. Por exemplo. se você observar a data de modificação nos cabeçalhos de um arquivo estático comum (por exemplo, talvez você possa escolher o arquivo de script jquery), é provável que ele informe efetivamente quando esse arquivo foi instalado ou empacotado. Você pode comparar isso com a data atual e/ou a data da última versão de segurança para obter uma boa idéia do status de manutenção do site.

Há várias maneiras pelas quais a data do arquivo pode ser definida, portanto isso não é 100 confiável, mas geralmente é muito bom e tem a vantagem de ser aplicável a vários tipos diferentes de servidores e software.

1
mc0e