.ASPX POST-запрос - нарушение конфиденциальности: BREACH - PullRequest
0 голосов
/ 24 мая 2018

На основании отчета о веб-проверке наш сайт попадает под нарушение конфиденциальности: BREACH.Рекомендуются следующие исправления:

  1. Отключить сжатие HTTP

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

  3. Рандомизировать секрет

Мы применили # 1 Отключить HTTP-сжатие из IIS => Сжатие =>, не отметив Статический и Динамический.Который работает на нашем DEV, но когда мы попробовали на сервере ПРОИЗВОДСТВО, которые НЕ работали.Заголовок ответа по-прежнему показывает c ontent-encoding: gzip .Несмотря на то, что сжатие HTTP отключено

  • Я понял, что сжатие HTTP отключено, - проверьте заголовок ответа и убедитесь, что кодировка содержимого НЕТ.

Ниже приведен пример заголовка ответа от сервера PROD.

Cache-Control   
private
Connection  
Keep-Alive
Content-Encoding    
gzip
Content-Length  
71447
Content-Type    
text/plain; charset=utf-8
Date    
Thu, 24 May 2018 16:57:04 GMT
Server  
Microsoft-IIS/7.5
Strict-Transport-Security   
max-age=31536000; includeSubDomains
Vary    
Accept-Encoding
X-AspNet-Version    
4.0.30319
X-Content-Type-Options  
nosniff
X-Frame-Options 
SAMEORIGIN
X-XSS-Protection    
1; mode=block

--- Request Header

Accept  
*/*
Accept-Encoding 
gzip, deflate, br
Accept-Language 
en-US,en;q=0.5
Cache-Control   
no-cache
Connection  
keep-alive
Content-Length  
92398
Content-Type    
application/x-www-form-urlencoded; charset=utf-8
Cookie  
.ASPXANONYMOUS=fMbt3RErereq1AEkAAA…onId=00y51efaerreuc3pw0erereyehwc2wzxk
Host    
example.org
Pragma  
no-cache
Referer 
https://example.org/dsearch.aspx
User-Agent  
Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/60.0
X-MicrosoftAjax 
Delta=true
X-Requested-With    
XMLHttpRequest

Кроме того, как применить исправления из 2 и 3. В отчете показана проблема с:

TSM_HiddenField_ = ctl00_ContentPlaceHolder1_ToolkitScriptManager1_HiddenField & _TSM_CombinedScripts _ =% 3b% 3bAjaxControlToolkit% 2c + Версия% 3d3.5.7.123% 2c + Культура% 3dneutral% 2c + PublicKey Токен и

1033 * ctl00_ContentPlaceHolder1_ToolkitScriptManager1_HiddenField = & __ EventTarget = & __ EVENTARGUMENT = & __ LASTFOCUS = PRexdxaxbhgeccgjdchdfcgcdefRP (который был изменен в теле ответа)

1 Ответ

0 голосов
/ 24 мая 2018

Вы можете прочитать все об атаке BREACH здесь: http://breachattack.com/

Они говорят о митигации и влиянии на сжатие.

Их список действий в порядке эффективности:

  1. Отключение сжатия HTTP
  2. Отделение секретов от пользовательского ввода
  3. Рандомизация секретов по запросу
  4. Маскирование секретов (эффективно рандомизируется с помощью XORing со случайным секретомза запрос)
  5. Защита уязвимых страниц с помощью CSRF Сокрытие длины (путем добавления в ответы случайного количества байтов)
  6. Ограничение скорости запросов

Атака зависитпри работе со сжатием, поэтому отключение, которое эффективно смягчает атаку.

Объяснение того, как отключить сжатие для asp.net: (отключите его в IIS).

Какпредотвратить атаку BREACH в ASP.NET MVC Core?

Если у вас все еще есть сжатие, IIS может быть неправильно настроен.Попробуйте открыть страницу с сервера IIS и проверьте заголовки.Если в этот момент сжатие не включено, возможно, другой прокси-сервер или балансировщик нагрузки добавляет сжатие обратно на другом прыжке.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...