it-swarm.dev

Come posso determinare programmaticamente la versione di Joomla di un sito Web su cui non ho privilegi di amministrazione?

Sto creando uno strumento di controllo usando PHP dove posso inviare l'URL di un sito Web Joomla ed eseguire una serie di controlli sul sito Web di destinazione, incluso determinare il numero di versione di Joomla installato. Non ho eventuali privilegi di amministrazione sul sito Web Joomla di destinazione o sul server su cui risiede.

Qualcuno può dirmi quali file e quali contenuti del file devo controllare per poter prevedere con sicurezza la versione di Joomla installata senza avere privilegi di amministrazione sul sito Web Joomla di destinazione?

Sono interessato non solo a sapere se il sito Web è Joomla 2.5 (ad esempio), ma anche se è Joomla 2.5.18 o 2.5.19 ecc., Quindi so se è ben mantenuto o meno.

10
Neil Robertson

Penso che devi scaricare e installare tutte le versioni di Joomla e verificare quali file sono unici.

Un buon punto di partenza sono anche i file index.html nelle diverse versioni di Joomla, c'è stato un cambiamento nel contenuto iirc.

Sulla base del commento di @ brian-a-peat puoi controllare il colore della sezione admin.

questo è forse l'approccio migliore per controllare il checksum dei file CSS ad esempio.

Prossima modifica, bene l'XML ti darebbe davvero un buon punto di partenza purché non sia bloccato.

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

C'è un bell'articolo su Gavick riguardo a questo:

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

che porta a questo plugin per Chrome:

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

Che ho appena installato ... fa totalmente quello che vuoi. C'è un piccolo logo Joomla nella barra degli indirizzi e se fai clic su di esso, ti dice la versione di Joomla in esecuzione.

4
Brian Peat

La versione è memorizzata nella classe JVersion. È in /libraries/cms/version/version.php così potrebbe essere puoi analizzarlo in qualche modo.

4
Dmitry Rekun

Puoi controllare i file predefiniti sull'installazione joomla locale/remota su

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

Queste cartelle contengono aggiornamenti SQL che aiuteranno a rilevare le impronte digitali della versione.

Ad esempio: Joomla 3.8.3 avrà tutti gli aggiornamenti sql per le versioni precedenti fino al

3.8.2-2017-10-14.sql

allo stesso modo, per la versione 3.4.3

3.4.0-2015-02-26.sql

se si desidera eseguire brute-force per identificare la versione, di seguito è riportato un elenco di file sql su cui si potrebbe voler eseguire:

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

Questo potrebbe non darti la versione esatta ma atleast ti aiuta a identificare la versione principale.

1
shyam somana

Puoi scegliere di concentrarti sulle date piuttosto che sulle versioni in quanto tali. Per esempio. se osservi la data di modifica nelle intestazioni per un file statico comune (ad esempio, potresti scegliere il file di script jquery), è probabile che ti dica effettivamente quando è stato installato o impacchettato quel file. Puoi confrontarlo con la data corrente e/o la data dell'ultima versione di sicurezza per avere una buona idea dello stato di manutenzione del sito.

Esistono diversi modi in cui è possibile impostare la data del file, quindi questo non è affidabile, ma è per lo più piuttosto buono e ha il vantaggio di essere applicabile a molti diversi tipi di server e software.

1
mc0e