ASP.NET и человек в середине
Использует ли ASP.NET механизм, запрещающий манипулирование данными между клиентом и сервером?
Если нет, значит ли это, что мы должны использовать SSL? Какие виды атак может предотвратить SSL?
Если да, что это за механизм?
3 ответа
ASP.Net использует Viewstate на стороне клиента для сохранения значений, что практически невозможно сломать. Однако любое веб-приложение передает (публикует) данные на сервер через веб-браузер, который передается в пакетных данных по протоколу TCP/IP. Эту информацию можно легко отслеживать с помощью некоторого программного обеспечения, чтобы увидеть, какие данные передаются (однако, изменение этих данных при передаче на сервер в реальном времени кажется очень сложным). SSL просто шифрует данные (скажем, ваше имя пользователя и пароль, которые вы ввели в поле входа в систему), прежде чем браузер отправит их на сервер; эти данные при передаче по каналам TCP/IP можно отслеживать, но они будут в зашифрованном формате. Таким образом, безопасно.
Однако вы можете обезопасить свое приложение, позаботившись о пунктах по этим ссылкам:
Нет, веб-формы ASP.NET и инфраструктура mvc ничего не делают для защиты передачи данных между клиентом и сервером. Состояние представления - это зашифрованный фрагмент данных в веб-формах, но это не означает, что его нельзя подделать на пути к серверу или клиенту. Короткий ответ - использовать по крайней мере 128-битный протокол ssl с сертификатом, подписанным ЦС, если вы хотите предотвратить атаки человека в середине.
Чтобы запретить манипулирование данными между клиентом и сервером, необходимо, чтобы сервер обнаружил такие манипуляции. Для состояний просмотра это можно включить в asp.net, убедившись, что в состояниях просмотра включен Mac и включено шифрование. О, и вы также должны установить viewstateuserkey.
Однако для других параметров злоумышленник может манипулировать параметрами. Так что используйте SSL/TLS. SSL/TLS устанавливает зашифрованное соединение между вашим клиентом и сервером, что делает невозможным (если он плохо настроен) злоумышленник может прослушивать данные или манипулировать содержимым.
Не использует SSL/TLS, разрешает всевозможные атаки (прослушивание файлов cookie сеанса в открытых беспроводных сетях, внедрение пакетов и манипулирование возвращенной веб-страницей и т. Д.)