Действительные адреса электронной почты – XSS и SQL Injection

Поскольку существует так много допустимых символов для адресов электронной почты, существуют ли какие-либо действительные адреса электронной почты, которые сами по себе могут быть атаками 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-инъекций требуются пробелы?

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

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

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

 /^[a-z0-9.-_+]@[a-z0-9.-]$/i 

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