Действующие электронные адреса - XSS и внедрение SQL

С тех пор существует столько допустимых символов для адресов электронной почты, есть ли какие-либо действующие электронные адреса, которые могут в себе быть нападениями на XSS или Внедрениями SQL? Я не мог найти информацию об этом в сети.

Локальная часть адреса электронной почты может использовать любой из этих символов ASCII:

  • Прописные и строчные английские буквы (a–z, A–Z)
  • Цифры от 0 до 9
  • Символы! % $ # и '* + - / =? ^ _' {|} ~
  • Символ. (отметьте точкой, точка, точку) при условии, что это не последний знак, и обеспеченный также, что это не появляется два или больше раза последовательно (например, John..Doe@example.com).

http://en.wikipedia.org/wiki/E-mail_address#RFC_specification

Я не спрашиваю, как предотвратить эти нападения (я уже использую параметризованные запросы и очиститель выхода/HTML), это - больше подтверждение концепции.

Первая вещь, которая пришла на ум, была 'OR 1=1--@gmail.com, за исключением того, что пробелы не позволяются. Все Внедрения SQL требуют пробелов?

10
задан Joel Coehoorn 9 December 2011 в 17:49
поделиться

2 ответа

Пробелы разрешены, если они заключены в кавычки, однако, так что "'OR 1=1--"@gmail.com является допустимым адресом электронной почты. Кроме того, это, вероятно, менее важно, но, с технической точки зрения, оба эти адреса являются действительными адресами электронной почты:

' BAD SQL STUFF -- <fake@ryanbrunner.com>
fake@ryanbrunner.com (' BAD SQL STUFF --)

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

14
ответ дан 4 December 2019 в 01:55
поделиться
/^[a-z0-9.-_+]@[a-z0-9.-]$/i

я думаю, что соответствует 99,9999% всех адресов электронной почты;)

-5
ответ дан 4 December 2019 в 01:55
поделиться
Другие вопросы по тегам:

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