Вычитал про хитрую технологию хака, думаю всем веб-разработчикам и сочувствующим кто ещё не в курсе, будет интересно про неё узнать: Cross-site request forgery. На русский можно перевести как “межсайтовая подделка запроса”. Смысл такой, что если у вас есть сайт с аутентификацией, на сайте человек залогинился с кукой и сабмитит форму, которая что-то меняет, например пароль, то вы (разработчик) думаете что у вас всё чики-пуки. А на самом деле, если это дело было запрограммировано не совсем правильно, то форму вам может сабмитнуть молдавский хакер, с понятными последствиями. :) Делается это путём подсовывания по мышку юзеру специально сформированной ссылки или показа картинки у которой вместо файла всунута опять же ссылка. Ссылка должна быть такой, какую ожидает сайт-жертва при сабмите формы. Причём хакеры могут подделать не только гет, но и пост запрос, с помощью жаба-скрипта.
Как бороться: самый очевидный способ – во все формы вбивать уникальное скрытое поле, которое перед вбиванием записывать в кибермозг компьютера и потом сверять с тем что получено от юзера, либо перед записью в форму, кодировать поле по секретному ключу, а при получении назад раскодировать и сверять. В вики пишут про ещё один способ – перед сабмитом форм зачитывать скриптом авторизирующую куку, при этом будут применены более строгие правила на кросс-доменные запросы и хакер обломается. Но способ со скрытыми полями мне кажется всё-же надёжней, он не зависит от браузера.
Английские братья по разуму пишут что таким способом в аккаунте адсенса можно поменять адрес с Англии на Молдавию. :) Что-то мне подсказывает, что для этой уязвимости вордпресс тоже должен быть одной большой дырой. Пойду просматривать на своих сайтах, если ли у меня такие формы.

Похожие посты