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

Все заключается в особой опции движка, которая разрешает проверенным комбинациям логин + e-mail писать без премодерации(при отсутствии регистрации на сайте). Если совпадут эти параметры(а среди знакомых мне сайтов, они почему-то совпадают) и если получится угадать e-mail любого посетителя блога(а чаще всего угадывается он для администратора. Обычно он в формате admin@example.com, где example.com - адрес блога) то можно забить весь блог спамовыми сообщениями, которые не будут ожидать премодерации, а сразу отобразятся на сайте.

WP Spam

Что с этим делать - решайте сами. Для реализации такой атаки необходимо наличие много одновременно совпавших условий, и спамеры в автоматическом режиме вряд ли соберут столько сведений, но какой-либо Ваш недоброжелатель с радостью может забить Ваш блог “смешными” комментариями от имени администратора, а Вы будете долго искать где же удалось посеять свой пароль от админки.

Тут был пример того как залатать дыру исправив файлы “руками”. Но данный пример неудобен в использовании. Любой последующий апдейт движка удалит эти исправления.

Для борьбы с данной “уязвимостью” можно использовать плагин Impostercide. Данный плагин по крайне мере защитит вас от того, что писать будут в блоге от лица зарегистрированных пользователей (админа и модераторов), этой защиты в большинстве случаев вполне достаточно. Связки email + пароль для других пользователей подобрать будет сложнее. А в крайнем случае их можно премодерировать.