Существуют ли несколько способов получить имена пользователей (как хакеру)?

Вопрос или проблема

Я создал новый сайт и забыл защититься от техники “?author=n”. У меня была двухфакторная аутентификация на всех учетных записях, поэтому никакой хакер не получил доступ к админке сайта.

С тех пор я исправил эту проблему безопасности. Существуют ли другие методы, которые используются для выявления имен пользователей? Я спрашиваю, потому что все еще получаю попытки входа с взломанным именем пользователя. Они не имеют успеха, поскольку это учетные записи с двухфакторной аутентификацией. Скоро я изменю на новых пользователей.

Сопутствующий вопрос: почему WordPress не назначает номера пользователей случайным образом, а не последовательно, как это делается сегодня?

Да, существуют несколько техник, которые могут использовать хакеры для обнаружения имен пользователей на сайтах WordPress:

URL, основанные на авторе: Как вы упомянули, техника ?author=n широко используется. Злоумышленники могут попробовать добавлять разные числа к параметру ?author=n, чтобы найти действительные имена пользователей.

Брутфорс при входе: Хакеры могут попробовать общие имена пользователей, такие как “admin” или “administrator”, и тестировать их с помощью атак грубой силы. Это часто может быть автоматизировано.

Формы комментариев или регистрации: Если злоумышленник отправляет комментарий или пытается зарегистрироваться на вашем сайте, он может увидеть действительные имена пользователей из публично видимых комментариев или сообщений об ошибках.

Перечисление пользователей через REST API или XML-RPC: Злоумышленники также могут использовать REST API или XML-RPC WordPress для получения информации о пользователях. Эти конечные точки могут показать, существует ли данное имя пользователя, проверяя коды ошибок при отправке неверных данных для входа.

Заголовки безопасности и раскрытие имен пользователей: Иногда ошибки конфигурации безопасности, такие как раскрытие имен пользователей в HTTP-заголовках или сообщениях об ошибках, могут открыть доступ к именам пользователей для злоумышленников.

Что касается вашего второго вопроса: WordPress присваивает ID пользователей последовательно, чтобы избежать коллизий или пропусков в структуре базы данных. Однако это действительно может облегчить злоумышленникам перечисление пользователей. Было бы безопаснее, если бы WordPress рандомизировал или обфускал ID пользователей, но это потребовало бы фундаментальных изменений в том, как работает WordPress, и могло бы нарушить совместимость с некоторыми плагинами или темами.

Дополнительно, вам следует внедрить меры, такие как отключение XML-RPC, блокировка IP-адресов, которые делают попытки атак грубой силы, и обеспечение актуальности всех плагинов и тем WordPress.

Ответ или решение

Вопросы безопасности вашего веб-сайта, особенно на базе WordPress, требуют особого внимания, поскольку это одна из наиболее популярных платформ для создания сайтов, что делает её привлекательной целью для злоумышленников. Если вы забыли реализовать защиту против техники "?author=n", вы, вероятно, уже сталкивались с попытками взлома через неё. Эта техника позволяет злоумышленникам получать информацию о логинах пользователей, отправляя запросы к вашему сайту с различными значениями параметра "n", чтобы определить существующие авторы.

Однако, просто закрыв доступ через "?author=n", вы не устраните все потенциальные угрозы. Существует множество других методов, которые хакеры могут использовать для получения информации о пользователях вашего сайта.

Теоретическая часть:

Злоумышленники применяют разнообразные техники для выяснения имён пользователей:

  1. Брутфорсинг логинов. Это одна из наиболее распространённых атак, при которой злоумышленники используют наиболее распространённые имена пользователей, такие как "admin" или "administrator". Данная атака может автоматически перебрать тысячи возможных комбинаций.

  2. Злоупотребление формами комментариев и регистрации. Если на вашем сайте включена возможность оставлять комментарии или регистрироваться, злоумышленники могут попытаться оставить комментарий или зарегистрироваться, чтобы увидеть, отображается ли где-либо имя пользователя. Ошибки в сообщениях могут также указывать на наличие определённых пользователей.

  3. Использование REST API или XML-RPC. WordPress предоставляет REST API и XML-RPC интерфейсы, которые могут быть использованы для выявления информации о пользователях. Например, отправка запроса к API с несуществующим именем пользователя может привести к различным сообщениям об ошибках для существующих и несуществующих пользователей.

  4. Неправильные конфигурации серверов. Неправильно настроенные серверы иногда могут передавать информацию о пользователе в заголовках HTTP или в сообщениях об ошибке.

Пример:

Рассмотрим пример использования REST API для перебора имён пользователей. Злоумышленник может отправить запросы к вашему сайту через REST API, пытаясь получить данные пользователя. API может вернуть статусный код, указывающий на успешный или неуспешный запрос, что позволяет понять, существует пользователь с таким именем или нет.

Применение:

Для защиты вашего сайта от подобного рода атак необходимо предпринять комплексный подход:

  • Ограничение доступов: Отключите или ограничьте доступ к XML-RPC и REST API, если они не используются. Это снизит вероятность того, что они будут использованы в атаке.

  • Использование плугинов: Установите плагины безопасности, такие как Wordfence или Sucuri, которые могут помочь в контроле и блокировке подозрительной активности, включая брутфорсинг.

  • Блокировка IP: Блокируйте IP-адреса, с которых регулярно поступают попытки несанкционированного входа. Это можно сделать вручную или настроить автоматическое блокировку после определённого количества попыток.

  • Обновление безопасности: Регулярно обновляйте все плагины, темы и ядро WordPress, чтобы защититься от известных уязвимостей.

  • Настройка ошибок и заголовков: Убедитесь, что ошибки входа не указывают на существование пользователя, а заголовки HTTP не содержат данных о пользователях.

Отвечая на ваш второй вопрос: WordPress серийно назначает идентификаторы пользователей для упрощения структурной целостности базы данных и предотвращения конфликтов. Использование случайных идентификаторов могло бы усложнить задачу для злоумышленников, но изменило бы не только внутреннюю логику платформы, но и нарушило бы совместимость с многими плагинами и темами. Поэтому, хотя это и было бы более безопасным решением, внедрение подобной системы потребовало бы значительных изменений в общей архитектуре WordPress.

Помимо вышеперечисленных мер, всегда полезно проводить регулярные аудиты безопасности и оставаться в курсе новейших угроз и рекомендаций по их предотвращению. Это позволит вам своевременно реагировать на потенциальные уязвимости.

Оцените материал
Добавить комментарий

Капча загружается...