Dado que hay tantos caracteres válidos para direcciones de correo electrónico, ¿hay direcciones de correo electrónico válidas que en sí mismas pueden ser ataques XSS o inyecciones de SQL? No pude encontrar ninguna información sobre esto en la web.Direcciones de correo electrónico válidas: XSS y SQL Injection
La parte local de la dirección de correo electrónico puede utilizar cualquiera de estos caracteres ASCII:
- mayúsculas y letras inglesas en minúsculas (a-z, A-Z)
- dígitos 0 a 9
- Personajes! # $% & '* + -/=?^_ `{| } ~
- Personaje. (punto, punto, punto) siempre que no sea el último carácter , y siempre que no aparezca dos o más veces consecutivas (por ejemplo, John..Doe @ example.com).
http://en.wikipedia.org/wiki/E-mail_address#RFC_specification
No te pido cómo prevenir estos ataques (ya estoy usando consultas parametrizadas y escapar/purificador de HTML), esto es más una prueba de concepto.
Lo primero que me vino a la mente fue 'OR [email protected]
, excepto que los espacios no están permitidos. ¿Todas las inyecciones de SQL requieren espacios?
Puede usar http://isemail.info/ para buscar cualquier dirección de correo electrónico que le guste, o simplemente probar con un filtro en direcciones de correo electrónico inyectables a través de alguna función de php como validar filtro de correo electrónico. Según isemail.info, la primera dirección no es válida y la segunda dirección es "La dirección es válida dentro del mensaje pero no se puede usar sin modificaciones para el sobre". – Kzqai