Ya que hay tantos caracteres válidos para las direcciones de correo electrónico, hay válido direcciones de correo electrónico que puede ser de ataques XSS o inyecciones de SQL? No pude encontrar ninguna información sobre esto en la web.

La parte local de la dirección de correo electrónico
puede utilizar cualquiera de estos caracteres ASCII:

  • Mayúsculas y minúsculas, letras (a–z, a–Z)
  • Dígitos de 0 a 9
  • Personajes ! # $ % & ‘ * + – /= ? ^ _ ` { | } ~
  • Carácter . (punto, punto, punto) siempre que no sea la última
    carácter, y siempre que no aparezcan dos o
    más veces consecutivamente (por ejemplo, [email protected]).

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

No estoy preguntando cómo prevenir estos ataques (ya estoy utilizando consultas parametrizadas y escapar/HTML purifier), esto es más una prueba de concepto.

La primera cosa que me vino a la mente fue 'OR [email protected], excepto que los espacios no están permitidos. Hacer todas las inyecciones de SQL requieren espacios?

OriginalEl autor Lotus Notes | 2010-05-27

2 Comentarios

  1. 12

    Espacios se permiten si están entre comillas, sin embargo, por lo que "'OR 1=1--"@gmail.com es una dirección de correo electrónico válida. También, es probablemente menos de una preocupación, pero técnicamente hablando, estos son direcciones de correo electrónico válida:

    ' BAD SQL STUFF -- <[email protected]>
    [email protected] (' BAD SQL STUFF --)

    Incluso si esto no era posible, todavía hay ninguna razón por la que no debería estar usando paramaterized consultas y codificación de todos los usuarios-datos introducidos se muestran a los usuarios.

    Puede usar isemail.info para comprobar cualquier dirección de correo electrónico que te gusta, o de lo contrario sólo se prueba con un filtro en inyectables direcciones de correo electrónico a través de alguna función de php como filtro de validar correo electrónico. Basado en isemail.info la primera dirección no es válida, y la segunda dirección es «la Dirección es válida en el mensaje, pero no puede ser utilizado sin modificaciones el sobre»

    OriginalEl autor Ryan Brunner

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

    creo que partidos como el 99.9999% de todos los correos electrónicos de direcciones 😉

    btw. eso es solo para verificar si el texto no está lleno de xss/inyecciones de sql, etc. – no es una manera de validar una dirección de correo electrónico.

    OriginalEl autor Toby

Dejar respuesta

Please enter your comment!
Please enter your name here