Понимание уязвимости CSRF (руководство для начинающих) (Ч.3)

Борис_бритва

Script Kiddie
21.09.2020
10
0
1
CSRF через банковский перевод

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

Интересно, какое отношение ко всему этому имеет CSRF? Давайте посмотрим на следующий сценарий атаки.

Снова войдите в bWAPP, затем выберите следующую уязвимость Cross-Site Request Forgery (Transfer Amount) и нажмите кнопку взлома.

На скриншоте ниже вы можете видеть, что у пользователя Raj на счету только 1000 евро.


1600671887046.png

Попробуем перевести с него какую-то сумму, так как номер счета уже есть в поле.

Процедура CSRF-атаки аналогична описанной выше, используйте пакет burp для захвата отправленного запроса браузера, а затем поделитесь этим запросом в разделе инструментов взаимодействия.

1600671928687.png

Опять же, он автоматически создаст HTML-форму для перехваченных данных. Просто нажмите «Копировать HTML» и вставьте его в текстовый файл.

1600671963071.png\


Супер!! Пришло время манипулировать полем значения «», добавить сумму «200» (желаемую злоумышленником), которую нужно передать, сохраните текстовый документ как csrf.html и затем поделитесь им с целевым пользователем.


1600672026866.png

Как только жертва откроет этот файл и нажмет кнопку отправки, сумма (введенная злоумышленником) будет передана без его (жертвы) ведома.

1600672103833.png

Из приведенного скриншота вы можете видеть, что на счету пользователя осталось 800 евро, что означает, что 200 евро были списаны с его учетной записи.

1600672127875.png

Таким образом, используя такие базовые методы, злоумышленник может внести серьезные изменения в учетную запись жертвы.

Недостатки CSRF

Атака CRSF имеет серьезный недостаток, поскольку эти атаки успешны только тогда, когда злоумышленник знает, какой параметр и какие значения смешаны в форме HTML.
И даже эти атаки требуют некоторой хорошей техники социальной инженерии, поскольку иногда HTML-формы требуют ранее использованных значений, таких как «Текущий пароль», чтобы изменить новый пароль.

1600672208036.png


Шаги по защите

Разработчикам следует реализовать использование «токенов Anti-CSRF».

Использование атрибутов файлов cookie того же сайта для файлов cookie сеанса, которые могут быть отправлены только в том случае, если запрос выполняется из источника, связанного с файлом cookie (не междоменного).

Не используйте запросы GET для операций изменения состояния.

Определение источника происхождения (через заголовок Origin / Referer)

Одноразовый токен должен быть реализован для защиты CSRF, основанного на взаимодействии с пользователем.

Защита от атак XSS, так как любой XSS может быть использован для защиты от всех методов защиты от CSRF!
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню