Acunetix Webscan

Я сканирую свое веб-приложение, которое я встроил в Asp.net. Сканер внедряет ненужные данные в систему, пытаясь выполнить слепую инъекцию Sql в систему, но я использую процедуры хранения Sql с параметризованными запросами, которые избегают слепой инъекции SQL, но эти ненужные записи хранятся в системе как обычный текст, который я очищаю. входы не принимать 'и другие параметры, связанные с sql. Теперь мой вопрос

1) Являются ли эти нежелательные записи какой-либо угрозой для системы?
2) Действительно ли мне нужно дезинфицировать входные данные, если я уже использую парамитризованные запросы с процедурами хранилища? 3) Сканер не может вводить информацию в систему, если вы не создаете последовательность входа в систему, это хорошо?

Любые другие меры предосторожности, которые я должен предпринять, пожалуйста, дайте мне знать

Спасибо

1 ответ

Как вы правильно упомянули, "ненужные" записи в вашей базе данных - это представления форм, которые Acunetix отправляет при тестировании на внедрение SQL, XSS и другие уязвимости.

Чтобы ответить на ваши вопросы конкретно:

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

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

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

2) Если вы говорите об SQL-инъекции, нет, вам не нужно ничего делать. Параметризованные запросы - это правильный способ избежать SQLi. Однако будьте осторожны с межсайтовым скриптингом (XSS). Фильтрация символов, таких как <>'" это не тот путь, когда имеешь дело с XSS.

Чтобы иметь дело с XSS, лучший подход (в большинстве случаев) состоит в том, чтобы использовать контекстно-зависимое исходящее кодирование, которое в основном сводится к - использовать правильное кодирование в зависимости от контекста XSS, в котором вы находитесь, и кодировать, когда данные печатаются на странице (т.е. не кодируют при сохранении данных в базу данных, кодируют при записи этих данных на страницу). Чтобы узнать больше об этом, это самый простой и наиболее полный источник, с которым я столкнулся - http://excess-xss.com/

3) Последовательность входа в систему - это способ аутентификации Acunetix в вашем приложении. Без этого сканер не сможет сканировать внутренности вашего приложения. Поэтому, если у вас нет форм (возможно, в части сайта, ориентированной на клиента), сканер не сможет вставить какие-либо данные - да, это, как правило, хорошо:)

Другие вопросы по тегам