Когда-то давно кто-то выкладывал эксплоит, как получить админ-досуп к сайту с включенным php-фильтром имея права на вставку js
Суть: внедряем js который, при входе админа подгружает скрытый ifarme со страницей (в сессии админа), на которой имеется textarea с php-фильтром.
Вставляем в textarea php-код. и сабмитим.
Рисуем на фюзеляже звездочку.
Неистово согласен..
Лишать его возможности провести несколько суток, или даже недель в прекрасном мире цветущих граблей - это безчеловечно, я бы даже сказал - архинегуманно..
Когда у него еще появиться такая возможность разрушить все до основанья, а за тем...
Аванс как средство для латания бюджетных дыр, это все же очень частный случай.
В условиях фриланса, когда договор между Заказчиком и Исполнителем всего лишь кучка битов в глубинах оперативной памяти - аванс это наше все.
Аванс это доказательство серьезности намерений Заказчика.
Аванс это акцепт договора.
Аванс это конституция, которая уравнивает в правах и обязанностях Заказчика и Исполнителя.
Аванс это... эээ.. еще много чего хорошего..-)
Всё-таки работа с прямым заказчиком и работа с посредником - это как земля и небо.
Не все так однозначно, часто небо и земля меняются местами.
А все из-за того, что есть посредник - "испорченный телефон" между прямым заказчиком и исполнителем.
А есть "посредник" - менеджер, в хорошем смысле этого слова-)
лайфхак..
В папке с шаблонами создаете пустые файлы, имена которых начинаются так-же как и у шаблонов с nid.
т.е.
шаблон: page--node--127.tpl.php
"копия": page--node--127--ask.tpl.php
При сортировке файлов по имени шаблон и копия всегда быдут рядом.
еще вариант..
Все также как Вам и писали выше (suggestion и т.п.) только вместо суффикса шаблона (ask) подставляете значение специального текстового поля, которое нужно предварительно создать в материале и заполнить нужным значением.
например имя поля-суфикса: field_template_suffix
Чтобы не попасть в руки директору кладбища постому смертному- нужно изобрести элексир бессмертия. И всего то..
Так же, на кладбище не хоронят самоубийц. @Director-cemetery
Готовиш пятничный пост?-)
Еще версия.
Если в текстовых фильтрах для ролей разрешено использование ява-скриптов, этот код можно было вставить ява-скриптом, когда страницу с этим скриптом открывал главный админ.
Эта технология взлома когда-то гдето хорошо освещалась..
Возможно даже сдесь.
Слишком замудрено, но как версия...
Вывод - не доверяйте использовать в текстовых полях ява-скрипт неблагонадежным пользователям.. а лучше всем..
Логирования изменения блоков в стандартной сборке друпал нет.
Можно поискать в логах сервера обращение к урлу страницы редактирования нужного блока.
Там будет IP пользователя.
По IP можно попробовать узнать примерное местоположение пользователя(провайдера,город, область и т.п.)
Если включен модуль Statistics то все намного проще.
Поиск будет так же по урлу.
Там же будет и имя пользователя, но его я Вам и так могу сказать: злоумышленник заходил под логином "главного" админа.
2 абсолютно одинаковых файла ключа только (authorized_keys и authorized_keys2).
email в них правильный
сравнивать надо именно ключ - "набор" букв-цифр. в обоих файлах.
Главное, чтоб там небыло "лишних" ключей.
Ключей может быть несколько : 1 ключ - 1 строка
Возможно там и нет ключа злоумышленника , но убедиться в этом надо.
1 соответствие в таблице u3b1block_custom поле body
Код в кастомном блоке.
скопируйте из поля bid этой записи находящееся в нем значение и вставте его в ссылку ниже вместо [ЗНАЧЕНИЕ ПОЛЯ bid]
и замените ДОМЕН_САЙТА на Ваш домен.
Это будет сслка на форму редактирования нужного блока.
Если он не нужен - удаляйте его.
Если нужен - аккуратно удалите из поля body "зловредный" код.
В файле authorized_keys публичные ключи пользователей, которые могут ходить на сайт по ssh.
Сохраните его на локальный комп на всякий пожарный.
У всех "легитимных" пользователей, которым необходим доступ к серверу по SSH, запросите публичные ключи.
Сравните их с ключами в этом файле(1 строка - 1 ключ)
строки с "лишними" ключами удалите
В phpmyadmin в меню слева кликните мышкой на нужной базе данных.
Должна открыться страница с таблицей-списком таблиц БД.
Вверху страницы есть вкладка "Поиск", перейдите на нее.
В первое поле вводите искомое слово.
слева от списка таблиц щелкаете на ссылке "Выбрать все"
Жмете на кнопку поиска.
Для чего нужно искать код в базе данных? Чтобы заменить на безобидный?
Не главное ли найти откуда он вызывается?
Это поможет определить, откуда он вызывается.
Можно конечно "перелопатить" весь контент и админку сайта в его поиске.
А можно за 5 сек поиском по базе найти это место.
В phpmyadmin (инстумент для работы с базой данных, обычно предоставляется хостингом) есть функция поиска слов по базе данных.
Ищите слово "nikicsgo.ru"
только сразу ничего не удаляйте..
Главное выяснить в каких таблицах и в каких полях встречается это слово(скорее всего там весь, приведенный Вами код)..
Проверьте пользователей с ролью "выше" "авторизированный"..
Не появилось ли лишних?
Отключите от греха подальше модуль PHP filter.
Если он как-то используется, ищите возможность обойтись без него.
Это он запускает тот "зловредный" код.
Скорее всего у Вас установлен модуль File Entity ( https://www.drupal.org/project/file_entity )..
Который для каждого файла создает сущность типа Файл(не Нода).
Так-то это вроде фича, а не баг-)
Удобно с каждым файлом(в дополнительных полях сущности) связывать доп.информацию.
Ограничте каким-лио образом доступ поисковиков к страницам просмотра сущности Файл.
Когда добавляете какой-либо элемент(фильтр, поле и т.п.) к вьюсу, на форме добавления есть выпадающий список с выбором вариантов добавления:
1.Ко всем дисплеям.
2.Только к текущему.
3.К не переопределенным.
Удалите фильтр.
Потом добавте заново с выбором варианта добавления.
Кстати, если нужны только айпи, по-моему достаточно "стандартного" модуля Statistics, его надо только включить.. Ни разу небыло необходимости его включать, но судя по его описанию, это то что нужно ТС..
Вывести блок в материал
Когда-то давно кто-то выкладывал эксплоит, как получить админ-досуп к сайту с включенным php-фильтром имея права на вставку js
Суть: внедряем js который, при входе админа подгружает скрытый ifarme со страницей (в сессии админа), на которой имеется textarea с php-фильтром.
Вставляем в textarea php-код. и сабмитим.
Рисуем на фюзеляже звездочку.
Обновление модулей друпал
Неистово согласен..
Лишать его возможности провести несколько суток, или даже недель в прекрасном мире цветущих граблей - это безчеловечно, я бы даже сказал - архинегуманно..
Когда у него еще появиться такая возможность разрушить все до основанья, а за тем...
А тут злобный троль со своим драшем.
Аутсорс в пищевой цепочке.
Аванс как средство для латания бюджетных дыр, это все же очень частный случай.
В условиях фриланса, когда договор между Заказчиком и Исполнителем всего лишь кучка битов в глубинах оперативной памяти - аванс это наше все.
Аванс это доказательство серьезности намерений Заказчика.
Аванс это акцепт договора.
Аванс это конституция, которая уравнивает в правах и обязанностях Заказчика и Исполнителя.
Аванс это... эээ.. еще много чего хорошего..-)
Аутсорс в пищевой цепочке.
Не все так однозначно, часто небо и земля меняются местами.
А все из-за того, что есть посредник - "испорченный телефон" между прямым заказчиком и исполнителем.
А есть "посредник" - менеджер, в хорошем смысле этого слова-)
Обновление модулей друпал
0.drush arb
...
Темизация page-node.tpl.php
лайфхак..
В папке с шаблонами создаете пустые файлы, имена которых начинаются так-же как и у шаблонов с nid.
т.е.
шаблон: page--node--127.tpl.php
"копия": page--node--127--ask.tpl.php
При сортировке файлов по имени шаблон и копия всегда быдут рядом.
еще вариант..
Все также как Вам и писали выше (suggestion и т.п.) только вместо суффикса шаблона (ask) подставляете значение специального текстового поля, которое нужно предварительно создать в материале и заполнить нужным значением.
например имя поля-суфикса: field_template_suffix
Как отвязаться от директора кладбища?
Чтобы не попасть в руки директору кладбища постому смертному- нужно изобрести элексир бессмертия. И всего то..
Так же, на кладбище не хоронят самоубийц.
@Director-cemetery
Готовиш пятничный пост?-)
Как узнать: когда и каким пользователем был создан определённый блок?
Еще версия.
Если в текстовых фильтрах для ролей разрешено использование ява-скриптов, этот код можно было вставить ява-скриптом, когда страницу с этим скриптом открывал главный админ.
Эта технология взлома когда-то гдето хорошо освещалась..
Возможно даже сдесь.
Слишком замудрено, но как версия...
Вывод - не доверяйте использовать в текстовых полях ява-скрипт неблагонадежным пользователям.. а лучше всем..
Как узнать: когда и каким пользователем был создан определённый блок?
Итак.. детектив продолжается-)
Вторая серия.
Логирования изменения блоков в стандартной сборке друпал нет.
Можно поискать в логах сервера обращение к урлу страницы редактирования нужного блока.
Там будет IP пользователя.
По IP можно попробовать узнать примерное местоположение пользователя(провайдера,город, область и т.п.)
Если включен модуль Statistics то все намного проще.
Поиск будет так же по урлу.
Там же будет и имя пользователя, но его я Вам и так могу сказать: злоумышленник заходил под логином "главного" админа.
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
сравнивать надо именно ключ - "набор" букв-цифр. в обоих файлах.
Главное, чтоб там небыло "лишних" ключей.
Ключей может быть несколько : 1 ключ - 1 строка
Возможно там и нет ключа злоумышленника , но убедиться в этом надо.
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
Код в кастомном блоке.
скопируйте из поля bid этой записи находящееся в нем значение и вставте его в ссылку ниже вместо [ЗНАЧЕНИЕ ПОЛЯ bid]
и замените ДОМЕН_САЙТА на Ваш домен.
Это будет сслка на форму редактирования нужного блока.
Если он не нужен - удаляйте его.
Если нужен - аккуратно удалите из поля body "зловредный" код.
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
В файле authorized_keys публичные ключи пользователей, которые могут ходить на сайт по ssh.
Сохраните его на локальный комп на всякий пожарный.
У всех "легитимных" пользователей, которым необходим доступ к серверу по SSH, запросите публичные ключи.
Сравните их с ключами в этом файле(1 строка - 1 ключ)
строки с "лишними" ключами удалите
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
Как называется эта таблица и поле в котором этот код?
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
В phpmyadmin в меню слева кликните мышкой на нужной базе данных.
Должна открыться страница с таблицей-списком таблиц БД.
Вверху страницы есть вкладка "Поиск", перейдите на нее.
В первое поле вводите искомое слово.
слева от списка таблиц щелкаете на ссылке "Выбрать все"
Жмете на кнопку поиска.
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
Это поможет определить, откуда он вызывается.
Можно конечно "перелопатить" весь контент и админку сайта в его поиске.
А можно за 5 сек поиском по базе найти это место.
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
В phpmyadmin (инстумент для работы с базой данных, обычно предоставляется хостингом) есть функция поиска слов по базе данных.
Ищите слово "nikicsgo.ru"
только сразу ничего не удаляйте..
Главное выяснить в каких таблицах и в каких полях встречается это слово(скорее всего там весь, приведенный Вами код)..
Проверьте пользователей с ролью "выше" "авторизированный"..
Не появилось ли лишних?
Отключите от греха подальше модуль PHP filter.
Если он как-то используется, ищите возможность обойтись без него.
Это он запускает тот "зловредный" код.
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
А такой код:
drupal_set_message(htmlspecialchars($code));
??
Вирус на сайте. Нужно определить модуль, загружающий вредоносный код.
В файле /home/<Мой сайт>/public_html/modules/php/php.module
перед ob_start(); (строка 78)
вставте этот код:
drupal_set_message($code);
и откройте страницу, на которой возникает эта ошибка..
На ней должно быть сообщение Drupal с php кодом..
Выложите этот код здесь.
php
Сервер в логи что пишет?
При загрузке файлов любым способом, создаются ноды для каждого файла. Как отключить? [Решено]
Скорее всего у Вас установлен модуль File Entity ( https://www.drupal.org/project/file_entity )..
Который для каждого файла создает сущность типа Файл(не Нода).
Так-то это вроде фича, а не баг-)
Удобно с каждым файлом(в дополнительных полях сущности) связывать доп.информацию.
Ограничте каким-лио образом доступ поисковиков к страницам просмотра сущности Файл.
Сборка сайта агентства недвижимости на Drupal 7
Нормальная сборка и нормальная цена..
А хотелки оставте автору на хлеб с маслом-)
[РЕШЕНО] Views. Как сделать разные критерии фильтрации на странице и в блоке
Когда добавляете какой-либо элемент(фильтр, поле и т.п.) к вьюсу, на форме добавления есть выпадающий список с выбором вариантов добавления:
1.Ко всем дисплеям.
2.Только к текущему.
3.К не переопределенным.
Удалите фильтр.
Потом добавте заново с выбором варианта добавления.
Борьба с взломом сайта
Аффигеть как время летит..
FTP-протоколу в этом году 45 лет(1971)..
На покой пора старичку..
Определение ip посетителя
Кстати, если нужны только айпи, по-моему достаточно "стандартного" модуля Statistics, его надо только включить.. Ни разу небыло необходимости его включать, но судя по его описанию, это то что нужно ТС..
Магазины на восьмёрке - Drupal Cmmerce 8
Не понял, как можно сравнивать узкопрофильное решение и конструктор.
Растолкуйте, пожалуйста.-)
И в чем проблема из конструктора собрать узкопрофильное решение и тиражировать его, попутно отлаживая и совершествуя?
Или даже сразу взять готовую узкопрофильную сборку, коих туева хуча..