Плагин «Anti-XSS attack»
Данный плагин возник после обсуждения на форуме. Кратко опишу суть проблемы.
Во всех версиях WordPress есть дыры. Другое дело, что не все они определены и известны. Таким образом злоумышленник может обнаружить уязвимость и сформировать специальный запрос к вашему сайту и тем самым, например, получить админский доступ.
Ситуация может развернуться еще хуще. Например злоумышленник может написать небольшую html-страницу, где разместить скрытую форму, которая автоматически будет, скажем добавлять пользователя с админскими правами на ваш сайт. А поскольку большинство из нас не разлогинивается после работы с блогом, то после захода на ссылку злоумышленника вы по-сути от своего имени (и с вашими разрешениями) создадите еще одного админа.
Проблема (XSS) касается не только WordPress, но и всех других «движков» и скриптов.
Для защиты от подобных действий нужно проверять откуда идет запрос - т.н. referer: если он не с вашего же сайта, то возможно это XSS-атака.
За основу я взял плагин Юрия Белотицкого paranoya, только оставил проверку входящих данных.
Работает плагин следующим образом.
Если на сайт приходят данные в «wp-admin», то проверяется реферер. Если это _GET (то есть в виде url) и реферер не совпадает с адресом вашего сайта, то выполнение скрипта останавливается и выводится сообщение с ссылкой, по которой можно подтвердить действие.
Если же данные передаюся в скрытом виде (_POST) и реферер не совпадает с вашим сайтом, то выполнение скрипта просто прекращается.
Подтверждение в первом случае нужно, поскольку некоторые запросы WordPress формирует имено в таком виде. Например, когда нужно подтвердить или отвегнуть комментарий. Даже если это XSS-атака и злоумышленник сам нажмет ссылку, то WordPress уже будет проверять права своими средствами. Но главное, что скрытого выполнения не будет.
Плагин устанавливается очень просто: Копируется в каталог plugins и активируется в админ-панели. Сразу обращаю внимание тех, у кого в браузере отключена передача referer - в этом случае все ваши действия WordPress будет воспринимать как XSS-атаку. Если из-за этого вы не можете получить доступ к админ-панели, то удалите файл плагина. WordPress автоматом его деактивирует.
UPDATE. Если вы скачали плагин до 9 февраля, то обновите его. Текущая версия 0.4 beta.
Постоянная ссылка: http://maxsite.org/?p=343
Версия для печати
