Просто хочу получить информацию от людей, которые знают. Я рассматривал уязвимости CSRF и, по-видимому, самый популярный метод, который я знаю, чтобы бороться с ним. Этот метод заключается в создании маркера в возвращаемом html и добавлении файла cookie с тем же значением. Поэтому, если скрипт пытается сделать сообщение, для него это будет have to guess the token thats embedded in the web page
.Вопрос уязвимости/куки CSRF
Но если они ориентации на определенный веб-сайт, почему они не могут просто использовать сценарий, который
- Вызывает получить на странице (куки будут возвращены, даже если скрипт не может получить к нему доступ)
- Анализирует HTML и получает маркер
- Вызывает сообщение с этой лексемы в нем (печенье, который вернулся, будут отправлены обратно)
- Они успешно представили форму без ведома пользователей
Сценарий не должен знать содержимое файла cookie, он просто использует тот факт, что файлы cookie постоянно отправляются туда и обратно.
Что мне здесь не хватает? Разве это невозможно? Я думаю, что это довольно страшно, если вы думаете об этом.
Ниже этой линии не требуется чтение, чтобы ответить на этот вопрос :)
Эта уязвимость банков на то, что аутентификация выполняется на основе куки, которые я думаю, это основной способ аутентификации в настоящее время происходит.
Еще одно решение, которое я могу придумать, - сделать аутентификацию на уровне страницы. Таким образом, , когда они войдут в возвращенный html, будут иметь этот токен. каждая ссылка, которую они нажимают, содержит этот токен, поэтому, когда веб-сервер получает запрос, у него есть способ идентифицировать пользователя/сеанс. Проблема заключается в том, что если они используют какую-либо навигацию, кроме того, что они будут «неаутентифицированы» (например, введите URL-адрес), также он не выглядит красивым в URL-адресе, потому что он, вероятно, будет выглядеть примерно так:
https://www.example.com/SuperSecretPage/1/123j4123jh12pf12g3g4j2h3g4b2k3jh4h5g55j3h3
Но я понимаю, что если безопасность важнее, то привлекательным URL-адресом является второе место.
Я не знаю все о куках, но что, если пользовательские агенты были немного более осторожны с их куки?
Например, что, если отправленные файлы cookie зависят от вкладки? Теперь мы все используем вкладки, верно? так что, если объем файла cookie был вкладкой? поэтому, если у меня откроется мой банковский сайт на вкладке 1, и я занимаюсь серфингом на вкладке 2, любые вызовы скриптов на/ на вкладке 2 отправят только куки, набранные на вкладке 2.
Или что делать, если куки были сохранены/домен. Поэтому, пока я на example.com, любые файлы cookie, которые возвращаются, попадают в коллекцию cookie example.com. а затем, когда я на www.mybankingsite.com, все куки попадают в коллекцию mybankingsite.com. Поэтому, если я перейду на example.com, и он запускает скрипт, который вызывает get/post, пользовательский агент отправляет только куки example.com. Это отличается от отправки файлов cookie запрашиваемого домена. Например. если скрипт вызывает получение mybankingsite.com на веб-странице example.com, пользовательский агент не отправит куки mybankingsite.com.
Я знаю, что я не имею никакого контроля над тем, что пользователем агентов делают, но я просто изучаю возможность
Вы могли бы избежать этого, только принимая сообщение Http-действия на этот URL-адрес, но он открывает тот факт, что скрипт имеет доступ к его DOM, и если элемент может получать информацию с другого сайта, тогда вы можете быть скомпрометированы – Jose