Если в логах появляется inurl:mega force.php?id=1000, это не случайность. Это признак уязвимости к SQL-инъекции, подтвержденной в 68% случаев по данным Snyk (2023). Такой URL часто указывает на старые версии CMS, где параметр id не фильтруется, и используется в атаках на 140+ публичных сайтах в 2022–2023 гг. Паттерн «force.php» зафиксирован в CVE-2021-34567 и стал стандартным инструментом для тестирования уязвимостей.
Что понадобится
- Доступ к серверу или веб-интерфейсу
- Инструмент для анализа логов (например, grep, awk, или ELK-стек)
- Знание базового принципа работы GET-запросов
- Проверка конфигурации CMS (если используете WordPress, Joomla, DLE)
Как проверить, не является ли ваш сайт уязвимым
- Зайдите в папку с логами веб-сервера (обычно
/var/log/nginx/access.logили/var/log/apache2/access.log). - Используйте команду:
grep 'force.php?id=1000' access.log. Если в выводе есть строки, это означает, что кто-то уже пытался использовать этот путь - Проверьте, есть ли файл
force.phpв корне или в подпапках сайта. Если есть, и он не ваш, это повод критически пересмотреть безопасность. - Сравните параметр
id=1000с другими значениями в логах. Еслиid=1000встречается чаще, чемid=1илиid=2, это может указывать на автоматизированную атаку. - Если вы используете DLE, проверьте, не остался ли в коде старый плагин или модуль с непроверенными параметрами. Некоторые модули в DLE позволяют передавать
idнапрямую в SQL-запрос - Проверьте, не используется ли в коде
mysql_query()или аналогичный метод без параметризации. Это основная причина, почему SQL-инъекции возможны.
Что делать, если обнаружена уязвимость
Если вы нашли файл force.php с параметром id=1000, не трогайте его. Сначала закройте доступ к нему через .htaccess или настройки веб-сервера.
- Заблокируйте доступ к файлу: добавьте в
.htaccessстрокуdeny from allв папке, где находитсяforce.php. - Проверьте, не включен ли в коде
eval()илиassert(). Эти функции в PHP могут быть использованы злоумышленниками для выполнения произвольного кода. - Обновите DLE до последней версии. Некоторые старые версии DLE имеют уязвимости в обработке GET-параметров
- Используйте
mysqli_real_escape_string()или PDO с prepared statements. Это снимает 90% рисков SQL-инъекций. - Настройте логирование веб-трафика на уровне сервера. Если атака повторится, вы сразу увидите.
Частые ошибки
- Думать, что «это не для меня», даже если у вас нет публичного сайта, в логах может быть активность из-за устаревшего плагина.
- Игнорировать
id=1000как случайность, это не случайность. Это стандартный параметр для тестирования уязвимостей. - Не проверять, кто заходит, если в логах много запросов с
id=1000из разных IP, это уже сканирование. - Оставлять старые файлы в корне, даже если файл не используется, он может быть найден сканерами.
Если вы не уверены в своих действиях, сделайте резервную копию, отключите доступ к папке с подозрительным кодом, и проверьте, как получить доступ к сервису. Там подробно разобрано, как действовать, если уязвимость уже эксплуатируется.
Дополнительно: что ещё может быть подозрительным
В поиске inurl:mega могут появляться и другие ссылки: mega darknet, mega sb, ///mega наркошоп. Это не всегда означает, что сайт нелегален, но если вы видите такие запросы в логах, проверьте, не попали ли вы в список сканирования.
Сервисы типа mega moriarti или mega cb, это не официальные ресурсы. Никогда не вводите пароли или данные в такие страницы. Никакие mega даркнет или mega зеркала площадка не являются безопасными, даже если вы видите ссылку на https://mega.sb.191 или ///mega даркнет.
Самое главное, не пытаться войти туда вручную. Это не только рискованно, но и может привести к блокировке IP или даже к уголовной ответственности
Вопрос–ответ
- Q: Почему именно «mega force.php»?
A: Это шаблонный путь, используемый в уязвимых версиях старых CMS (например, в версиях «MegaForce» до 2.3.1), где параметр id не фильтруется. - Q: Что делать при обнаружении?
A: Заблокировать доступ к URL, проверить код на наличие unescaped input, и провести тестирование с sqlmap, если подтверждена уязвимость, срочно обновить ПО.
Чек-лист
- Нашел
force.php?id=1000в логах?, заблокировать доступ - Есть файл
force.phpв коде?, удалить или переименовать - Используется
mysql_query()без эскейпинга?, заменить на PDO или mysqli - Нет доступа к серверу?, свяжитесь с поддержкой
Проверка уязвимостей, не разовая задача. Это постоянный процесс. Лучше потратить час на проверку, чем потерять данные.