Опасные стеки на живом сайте? - PullRequest
3 голосов
/ 19 января 2010

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

Ответы [ 6 ]

10 голосов
/ 19 января 2010

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

Например, ваша трассировка стека может показывать ошибки, поступающие из пространства имен System.Data.Sql, сообщая человеку, что SQL Server должен быть найден как часть этой настройки (в отличие от System.Data.MySql или Oracle например).

Он также сообщает человеку, какие вызовы .NET выполняются при возникновении ошибки. Теперь, ради аргумента, предположим, что у одного из них была уязвимость, известная только этому человеку, - это можно использовать для получения доступа.

Все придуманные сценарии, очевидно, или они? ....; -)

Второе мнение, которое более или менее совпадает, здесь .

2 голосов
/ 19 января 2010
0 голосов
/ 19 января 2010

Это определенно вредно, так как может быть использовано против вас.В качестве примера возьмем этот код

Session ["user"] = userName;перенаправление if ("denied"! = getPermission (Session ["user"])) ("ошибка входа в систему")

Я знаю, что это не отображается в трассировке стека, но это распространенная ошибка безопасности, теперь объединенная в том, чтос предоставлением информации возможному хакеру о том, как (или, по крайней мере, куда) спровоцировать исключение.Если он может использовать эту информацию, чтобы вызвать исключение при вызове getPermission, он больше не будет перенаправлен.Конечно, если в этом блоке кода нет try-catch, он может и не получить доступ (но, может быть, он после того, как все трассировки стека покажут, что пользователь хранится в сеансе)

обычно не только трассировка стекаопасно, но в сочетании с большим количеством информации они ослабят вашу систему безопасности.

0 голосов
/ 19 января 2010

Они должны быть зарегистрированы на хосте и абсолютно не показываться пользователю. Пользователь должен увидеть исправленную и понятную версию ошибки на простом языке.

0 голосов
/ 19 января 2010

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

0 голосов
/ 19 января 2010

Я думаю, что оставление стековых трасс может потенциально помочь злоумышленнику «профилировать» ваш веб-сайт и связанное с ним программное обеспечение. Если они видят модуль базы данных, например, они могут создать атаку на основе этого программного обеспечения базы данных. В этом случае может быть полезно добавить немного «безопасности через неизвестность», и это может спасти ваш бекон. : -)

...