интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правильно ли я мыслю по спаму.
Отправка форм на сайте-пациенте происходит так:
1. Самой формы в коде страницы нет
2. При загрузке страницы код формы грузится через JS Аяксом по УРИ /ajax/getform
3. По клику на сабмит данные этой формы отправляются Аяксом по УРИ /ajax/sendform
5. Форма содержит CSRF поле
Идёт СПАМ, причем, при смене Аякс УРЛа, СПАМ на длительное время прекращается (например при смене на /ajax/sendform123456).
Из чего я делаю вывод, что спам идет прямыми запросами на эти УРЛ, без эмуляции действий пользователя в браузере.
Как при этом обходят CSRF токен? Прямым запросом на /ajax/getform получают код формы и CSRF токен в ней, а также список полей. Присвоив полям нужные данные, в том числе и CSRF токен, отправляют данные по УРИ /ajax/sendform.
Такая ведь цепочка?
Значит, CSRF токен создается и при прямом запросе, без браузера и кук? Никогда этим не заморачивался, а тут задумался.
А заголовки проверяете, которые в запросах? Если вы говорите, что там прям прямые запросы, то, наверное, это видно как-то должно быть?
Смари, я как делаю 1) Смотрю реферрер, если нет или иной сайт - нахер 2) Доливаю JSом при отправке еще пару своих заголовков. В идеале, если бы они были рандомные 3) ну там xmlhttprequest само собой но его опять же подделывают 4) и токен, конечно. Но в форме у меня его нету. Он грузится JSом в window.token а потом подсовывается в запрос при отправке форм
Вот это дельный коммент. В Ларе оказывается есть ещё доп. токен, который в заголовок можно пихнуть, надо его заюзать. Но я вообще хитрее решил. Я в УРЛ приконкатенатил CSRF токен в качестве суффикса, и теперь у меня форма забирается по УРЛу типа /ajax/getformquUqtVAmLggTGsBthzAxhEL7lbKjUoPCLFgb6ZrG и данные отправляются по такому же. ни один враг не догадается! Теперь им только с эмуляцией браузера меня атаковать остаётся ))
И такое тоже было. Дисаблил enter и сдвигал кнопку отправки
забавно будет, если враг сидит тут 😁
токена наверно было б достаточно не?
Тогда новую Яндекс-капчу заюзаю, импортозамещение рекапчи.
Ого! Ни фига себе система. Если что, заюзаю, если достанут. Пока отстали.
яндекс капча платная. Бесплатная ограниченное время.
Да? нехорошо. Ну значит будем своими силами бороться.
Неа. У меня вот вместо с кодом формы его скачивают. Но если вот так вот хитро, много ступенчато, как Sasha Beep - то на какое-то время поможет.
Может быть. Но явно не в коде страницы. А проверка на xmlhttprequest это из раннего
Обсуждают сегодня