ASP.NET - взлом желтого экрана смерти - PullRequest
7 голосов
/ 26 марта 2011

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

У меня такой вопрос.Как хакер может использовать эту информацию?Как стек вызовов основных операций стека вызовов .NET помогает хакерам?

Я прикрепил желтый экран смерти, с которым я столкнулся на одном из сайтов, который я создал давно, и это вызвало у меня интерес,(Ошибка в том, что он не работает при попытке привести параметр строки запроса к типу int. Да, я знаю его неверный код, я написал его много лет назад;)

enter image description here

Ответы [ 4 ]

3 голосов
/ 26 марта 2011

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

Скажем, например, что вы написали свое собственное программное обеспечение для форума.Вы много проверяли, когда пользователь пишет сообщения, чтобы предотвратить атаки XSS и тому подобное, но ваша проверка неверна.Если хакер может вызвать YSOD, когда он делает сообщение, показанная трассировка стека может потенциально показать им трещины в вашей проверке и использовать их для создания XSS-атак или получения сведений о члене или паролей и тому подобного.YSOD сам по себе не представляет угрозы, но для хакера это может быть очень полезным способом поиска недостатков в безопасности вашего приложения.

2 голосов
/ 26 марта 2011

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

1 голос
/ 27 марта 2011

Как уже упоминали другие, сам YSOD не всегда полезен для хакеров, но предположите в своей строке 13: в приведенном выше коде у вас есть жестко запрограммированная строка подключения или встроенный SQL-запрос.

Теперь я знаюиз вашего YSOD, что «id» означает в вашем запросе на самом деле artId, а не какой-либо номер идентификатора randorm, который может быть полезен хакеру.

Кроме того, если хакер смог получить более одного YSOD, онможет раскрыть больше информации в целом и достаточно, чтобы повредить ваше приложение.

Некоторое время назад MS сообщила об уязвимости безопасности в ASP.NET , где предоставлен обходной путь, позволяющий включить CustomErrors и скрыть от пользователякод ошибки и любая конкретная деталь, связанная с ошибкой.

0 голосов
/ 27 марта 2011

Одна вещь, которая еще не была упомянута, заключается в том, что у злоумышленника теперь есть веские основания полагать, что вы используете базу данных MySql (о которой в противном случае он вряд ли догадывается о приложении ASP.NET)помогая им сузить круг потенциальных атак.Нет смысла делать свою работу проще, чем должна быть.

...