С чем реальным примерам безопасности с помощью мрака видели/работали Вас? [закрытый]

IdentityUser и IdentityRole являются двумя отдельными типами.

Как указывает JamesS, существует сложное соединение между Users и Roles. Вы можете найти это в таблице AspNetUserRoles. Он связывает таблицы AspNetUsers и AspNetUserRoles вместе.

Я не думаю, что Entity Framework входит в стандарт ASP.NET CORE 3, но если вы уже используете его, вы можете использовать объект _context (ApplicationDbContext) в вашем контроллере, чтобы построить свой список, используя свободный API и Include() & amp; ThenInclude() Методы.

В противном случае вы можете просто перейти к хранимой процедуре или просмотреть маршрут в SQL, как предложено.

Однако имейте в виду, что у ApplicationUser может быть много ролей, поэтому ваше бритвенное представление должно включать вложенный цикл foreach().

Работа с версией 3 не для слабонервных, я восхищаюсь вашим усердием.

8
задан Bill the Lizard 7 August 2012 в 14:34
поделиться

16 ответов

Реальная безопасность с помощью мрака?

Ключ к парадной двери спрятался под скалой поблизости, или под приветственной заставкой, или сверху высоких направляющих.

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

16
ответ дан 5 December 2019 в 04:49
поделиться

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

Решение состоит в том, чтобы всегда учить разработчика предполагать, что кто-то имеет исходный код и может использовать его против Вас.

0
ответ дан 5 December 2019 в 04:49
поделиться

Хождение на многое для сокрытия названий программного обеспечения и номеров версий.

Т.е. изменение имени сервера Tomcat и версии к некоторым кавычкам и случайным числам (как 666), менять имя и номера версий обычных библиотек JavaScript как scriptaculous и прототип и так далее.

В текущем проекте мы используем Веб-инструментарий Google (GWT), и эта подлая небольшая вещь компилирует Java в JavaScript (который у Вас есть мало ни к какому управлению), и включает строку "GWT" и номер версии. Полностью недопустимый, конечно, таким образом, мы должны будем сделать сценарий, который будет бежать за компиляцией GWT для удаления всех этих ссылок (!).

0
ответ дан 5 December 2019 в 04:49
поделиться

Один поставщик, с которым мы имеем дело, требует, чтобы мы отправили имя пользователя и пароль в querystring в ГНИЛИ 13 "зашифрованных" форматов. Никакая шутка.

1
ответ дан 5 December 2019 в 04:49
поделиться

/ администратор без пароля.

Да я видел его, это очень реально.

-1
ответ дан 5 December 2019 в 04:49
поделиться

Назад в старые дни DBase/Clipper я работал на парня, который разработал приложение для друга его. Этот друг хотел иметь некоторую "тайно" доступную программу или данные (я не вспоминаю), который потребовал пароля, только известного ему.

Решение, мне сказали, состояло в том, что Clipper открыл командную строку DOS в секретном каталоге, с черным текстом на черных цветах фона (некоторые управляющие символы ANSI выполнили это).

Пользователь должен был ввести в пароле, но этот вводит строку командной строки DOS, "пароль" был действительно названием пакетного файла, который затем выполнялся.

1
ответ дан 5 December 2019 в 04:49
поделиться

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

1
ответ дан 5 December 2019 в 04:49
поделиться

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

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

Один веб-сайт имел опрос и использовал cookie, чтобы препятствовать тому, чтобы Вы голосовали многократно. Вы могли просто стереть тот cookie и продолжать голосовать. И Вы могли написать сценарий всего этого использование wget, также.

1
ответ дан 5 December 2019 в 04:49
поделиться

Замеченный: phpMyAdmin, перемещенный в каталог _phpmyadmin

Улучшение: Запрещенный доступ снаружи сети компании.

1
ответ дан 5 December 2019 в 04:49
поделиться

Люди, пишущие их пароль на листках бумаги и подвергающие его их клавиатуре.

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

2
ответ дан 5 December 2019 в 04:49
поделиться

В более "реальном" примере я не знаю, является ли это намеренным или нет, но мне нравится способ, которым ни один из дверных звонков в моем блоке не имеет имен на них, и что их числа, кажется, не имеют никакой корреляции к apartement числам вообще. Т.е. кольцо на № 25 для apartement 605, № 13 для apartement 404 и так далее.:)

3
ответ дан 5 December 2019 в 04:49
поделиться

Подобный решению @stech.

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

1
ответ дан 5 December 2019 в 04:49
поделиться

Замеченный: Веб-сайты используют сложный URL для доступа ajax компоненты, а не на самом деле пароль защищает их, такие как:

domain.com/3r809d8f09feefhjkdjfhjdf/delete.php?a=03809803983djfhkjsdfsadf

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

Улучшение: Ограничьте страницу тем, чтобы быть полученным доступ только от определенных IP-адресов. Добавьте строку аутентификации к запросу, который является соленым хешем времени доступа.

3
ответ дан 5 December 2019 в 04:49
поделиться

Некоторым людям нравится делать их JavaScript трудным читать (и поэтому взломать) при помощи путаницы. Google среди пользователей этой техники. На самом простом уровне они меняют имена переменной и имена методов к единственной непостижимой букве. Первую переменную называют "a", второе называют "b" и так далее. Это действительно преуспевает в том, чтобы делать JavaScript чрезвычайно трудным читать и следовать. И это добавляет некоторую защиту к интеллектуальной собственности, содержавшейся в коде JavaScript, который должен быть загружен на браузер пользователя, чтобы быть применимым, therfore создание его доступный для всех.

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

Здесь статья о путанице Google и здесь список доступных инструментов.

5
ответ дан 5 December 2019 в 04:49
поделиться

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

$encrypted_password = md5( sha1( plaintext_password ) );

Когда я спросил, какова цель этого была, я узнал, что парень, который записал создание/сценарий входа в систему учетной записи, читал об атаках с подбором по словарю. Он полагал, что никто никогда не будет думать для создания словаря, где они хешируют исходные данные с md5 и sha1.

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

5
ответ дан 5 December 2019 в 04:49
поделиться

Защита через скрытность - допустимая тактика. Многие люди отключили предоставление информации о версии в качестве лучшей практики для ftp и apache. Приманки можно считать скрытой практикой, поскольку злоумышленник не знает схемы сети и попадает в нее. На одном известном мне сайте с высоким уровнем безопасности имя пользователя назначается пятизначной буквенно-цифровой фразой (например, «0a3bg») вместо использования логических имен пользователей. Все, что затрудняет взлом системы или делает его более длительным, является допустимой мерой.

Безопасность исключительно через скрытность - это плохо.

1
ответ дан 5 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: