Як я можу програмно визначити версію Joomla веб-сайту, на якому я не маю привілеїв адміністрації?


10

Я створюю інструмент аудиту за допомогою PHP, де можу подати URL веб-сайту Joomla і провести ряд перевірок на цільовому веб-сайті, включаючи визначення встановленого номера версії Joomla. Я не маю жодних привілеїв адміністрації на цільовому веб-сайті Joomla або на сервері, на якому він знаходиться.

Хто-небудь може сказати мені, які файли та вміст файлів мені потрібно перевірити, щоб можна було впевнено передбачити встановлену версію Joomla, не маючи привілеїв адміністрації на цільовому веб-сайті Joomla?

Мене цікавить не лише дізнатися, чи є веб-сайт Joomla 2.5 (наприклад), а також чи є Joomla 2.5.18 чи 2.5.19 і т. Д., Тому я знаю, підтримується він чи ні.


Ви робите це із зовнішнього сценарію?
Дмитро Рекун

1
Я використовую коментар, оскільки це не справжня технічна відповідь, але якщо ви просто хочете, щоб базове число 1.5, 2.5, 3.x, ви можете спробувати переглянути адміністратора і побачити колір або стиль сторінки адміністратора. Ось так я легко помітити 1,5 сайту.
Брайан Торф

Так. Форма та сценарій працюватимуть на веб-сайті Joomla та намагаються проаналізувати незв’язаний веб-сайт Joomla.
Ніл Робертсон

Дякую Брайану, це спонукає мене трохи уточнити питання.
Ніл Робертсон

Також дивіться joomla.stackexchange.com/a/7187/120, опублікований @Lodder
Ніл Робертсон,

Відповіді:


9

Я думаю, вам доведеться завантажити та встановити всі версії Joomla і перевірити, які файли є унікальними.

Також гарною відправною точкою є файли index.html у різних версіях Joomla, відбулася зміна iirc вмісту.

На підставі коментаря @ brian-a-торф ви можете перевірити колір адмінсекції.

ось, можливо, найкращий підхід для перевірки контрольної суми файлів css, наприклад.

Наступна редакція, добре, що XML справді дасть вам хорошу вихідну точку, доки вона не блокується.

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

3
Файли XML у розширеннях, мабуть, є одним із найточніших способів визначення різниці версій. Однак, можливо, деякі хости заблокують їх за допомогою htaccess, тому вам все одно знадобиться якийсь план B.
Ендрю Едді,

1
Ви маєте рацію Ендрю, є питання щодо цього joomla.stackexchange.com/questions/148/…, щоб ви також могли перевірити мовні файли, там ви знайдете дату авторських прав, яка може допомогти відгадати версію.
Харальд Лейтнер

Дякую Андрію, це допомагає! Я не сподіваюся отримати 100% точність, наприклад, коли файли XML сайту заблоковані через .htaccess
Ніл Робертсон,

1
Тож адміністратор / маніфести / бібліотеки / joomla.xml може допомогти вам.
Харальд Лейтнер

4

Є гарна стаття про Гавік щодо цього:

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

що призводить до цього плагіна для Chrome:

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

Який я щойно встановив ... він повністю робить те, що ти хочеш. В адресному рядку є маленький логотип Joomla, і якщо ви натиснете на нього, він повідомляє вам версію Joomla, яка працює.


Дякую Брайану, стаття Gavick - це саме той тип інформації, який я шукаю, хоча в ньому відсутня остання інформація для Joomla 3.x. Існує також надбудова "Joomla Version Check" для FireFox, яка працює добре, і я вже використовую, але в ідеалі я прагну розробити власне рішення, щоб я міг ввести пакет URL-адрес і перевірити деякі інші речі одночасно.
Ніл Робертсон

4

Версія зберігається всередині JVersionкласу. Це в /libraries/cms/version/version.phpтому, можливо, ви можете якось проаналізувати це.


4
Не буде працювати, оскільки він не отримає вміст із зовнішньої.
Харальд Лейтнер

1

Ви можете обрати увагу на дати, а не на версії як такі. Наприклад, якщо ви дивитесь дату модифікації у заголовках для загального статичного файлу (наприклад, ви можете обрати файл сценарію jquery), це, ймовірно, ефективно повідомить вам, коли цей файл був встановлений чи упакований. Ви можете порівняти це з поточною датою та / або датою останнього випуску безпеки, щоб отримати досить гарне уявлення про стан обслуговування сайту.

Існує безліч способів встановити дату файлу, тому це не 100 надійних, але в основному це досить непогано і має перевагу в застосуванні на багатьох різних видах серверів та програмного забезпечення.


1

Ви можете перевірити файли за замовчуванням на локальній / віддаленій установці Joomla за адресою

/ адміністратор / компоненти / com_admin / sql / оновлення / sqlazure / адміністратор / компоненти / com_admin / sql / оновлення / mysql / адміністратор / компоненти / com_admin / sql / оновлення / postgresql

Ці папки містять оновлення SQL, які допоможуть у відбитках пальців версії.

Наприклад: Joomla 3.8.3 матиме всі оновлення sql для попередніх версій до

3.8.2-2017-10-14.sql

аналогічно, для версії 3.4.3

3.4.0-2015-02-26.sql

якщо ви хочете запустити грубу силу для ідентифікації версії, нижче наведено список файлів sql, з якими ви можете запустити:

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

Це може не дати точної версії, але принаймні допоможе вам визначити основну версію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.