При чтении Справочник Hacker для веб-приложений, я попытался сделать небольшой тест на своем собственном веб-сайте (ASP.NET MVC3).Предотвращение сбоев данных в ответе
У меня есть модель, которая содержит два поля, первое поле отключено dropdownlist. Вторым является с включенным полем. Первое поле отключено из View.chtml и добавлено new {disabled="disabled"}
в качестве паратемера.
Вот что случилось со мной, я побежал Burp Suite инструмент в качестве прокси и захватил ответ. В ответе я удалил атрибут disabled="disabled"
из HTML, а затем перенаправил ответ браузеру. Oviuosly, страница теперь имеет два разрешенных поля.
Вопрос в том, как предотвратить вмешательство полей с помощью таких инструментов, как Burp Suite?
Хорошо, для этой конкретной проблемы, как насчет сравнения модели с GET и POST в контроллере? Я имею в виду сравнение readonly attrbute (s)? – Anwar
Зачем вам нужно читать данные только для чтения, кроме первичного ключа? В конце концов вы отправляете его клиенту в первую очередь. И вообще, что может помочь против хакеров, это [AntiForgeryToken] (http://msdn.microsoft.com/en-us/library/dd492767.aspx) – Maurice
Простым способом игнорировать данные только для чтения является использование атрибута Bind и исключая поля. – Maurice