Доброго времени суток всем читателям, на связи [CPAGANG]
Сегодня речь пойдет о том, как не стоит делать форму на сайте для приема заявок или же обратного звонка.
В данном примере имеются обе формы.
Искав сайты для написания очередной статьи, нашел вот такой вот сайт - https://eservo.ru/
Привлекла форма обратного звонка, так как обычно такие формы можно использовать как донора, при подаче заявки и указании почты они отсылают оповещение, что была оставлена заявка.
Открыв Debug'ер гугла в коде формы, я обнаружил следующее:
Сразу же бросился в глаза параметр "to" с указанием почты, первая мысль сразу же пала, что данная форма отсылает заявку именно на данную почту.
Идем в REQBIN создаем запрос отправляем и сервер успешно выдает 200 код.
Проверяем почту и видим, что письмо не в инбоксе, а в спаме (т.к. отправляется от хостинга Beget, для него это нормальное явление).
Как мы видим, все данные формы пришли к нам на почту.
Что мы имеем: 3 скрипта, которые отправляют немного разные данные с возможностью изменения кому мы будем это слать.
Чем это грозит?
1) Ваш сервер/хостинг могут использовать как донора для рассылки.
2) Конкуренты могут попросту заспамить ваш почтовик каким-либо текстом.
3) Почту, на которую идут заявки с форм, можно попробовать пробрутить и получить валидный пароль, после чего сливать заявки конкурентам.
4) Если у данной формы или же у самого сайта есть база данных и сайт работает с ней через форму, или же с какой-то иной частью, то можно проверить его на SQL инъекцию и получить доступ к базе данных сайта, далее несколько веток разветвления событий.
- Перенаправление заявок конкурентам
- Полный дамп покупателей и их информации
- Замена каких либо элементов сайта которые отстукивают с БД
Как обезопасить себя и свой сайт от подобных уязвимостей?
Все предельно просто.
- Делайте форму принятия заявок с отправителем, указанным в самом скрипте, без возможности редактирования ее через параметры запроса.
Это обезопасит вас как минимум от того, что ваш сайт будут использовать как донора для рассылок спама.
- Сделайте ограничение по длине в полях ввода, к примеру: для поля имени 12 символов, для почты 32 символа с проверкой почта ли это вообще, в поле ввода телефона сделайте ограничение только на ввод цифр.
- И, конечно же, поставьте ReCaptcha на обработку запроса, это усложнит автоматизацию проверки данной формы на уязвимость, а также ее использования для рассылок.
Если у вас остались какие либо вопросы вы можете задать их в нашем чате телеграм - Перейти
А так же, больше похожего и иного материала вы сможете найти в нашем канале - Перейти