[SOLUCIONADO] Checkear emails validos

  • 22 Respuestas
  • 1673 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado DtxdF

  • *
  • Moderator
  • Mensajes: 523
  • Actividad:
    100%
  • Reputación 11
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.

Re:Checkear emails validos

  • en: Diciembre 13, 2019, 07:52:56 pm
@xne7esx

Citar
Ahora entiendo, entonces esto ocurre ya que el codigo no sigue las reglas estandars del servicio...

No, como le dije, el código está bien, es el servicio que no está en función; el motivo es desconocido.

Citar
He probado los otros dos codigos y me imprime: Sintaxis: {} <Email a verificar...

Use el último código del último comentario, este se adapta a GMX. Un ejemplo de su uso:

Código: Bash
  1. python3 <nombre del script>.py test@gmx.com

No es muy diferente al segundo código del último comentario, pero verifica que la parte local ( <parte local>@gMx.com ), sea más de tres caracteres y además verifica que sea una dirección de correo electrónico que se acerque al estándar.

Ha sido un placer ayudarle.

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado NLD

  • *
  • Underc0der
  • Mensajes: 27
  • País: 00
  • Actividad:
    93.33%
  • Reputación -1
    • Ver Perfil

Re:Checkear emails validos

  • en: Diciembre 13, 2019, 10:22:13 pm
@DtxdF

He probado el codigo como usted me ha dicho, con el script sin cambiar el codigo ni nada y solo me da la respuesta valido, de todas formas he intentado cambiarlo para poder agregar el metodo post pero no se me ocurre como.

Igualmente para dejarlo claro todo, no hay ningun metodo donde pueda utilizar las posibles variables para saber cuales cuentas estan disponibles y cuales no, en el caso de gmx.com.


Conectado DtxdF

  • *
  • Moderator
  • Mensajes: 523
  • Actividad:
    100%
  • Reputación 11
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.

Re:Checkear emails validos

  • en: Diciembre 15, 2019, 08:48:11 am
Hola @xne7esx.

La verdad, vi cuando usted publico el último mensaje a los segundos y sin dudarlo fui a responder, escribiendo, pare y me pregunte: "¿El servicio no usa una API?", lo digo porque el que válida la existencia de una dirección en tiempo real debe estar implicado "WebSockets" o "Ajax".

Pues sí, así es, utiliza Ajax para hacerlo y de hecho, la dirección URL es la misma que usted puso al principio "https://onereg-email-suggest.gmx.com/email-alias/availability".

Lo busqué depurando un poco, pero tuve algunos problemas y aquí mis conjeturas.

Al depurar observe que la página está diseñada para hacer una petición Ajax a la dirección anteriormente mostrada, posteriormente la API se comportaria según los datos enviados. Los que yo envié en esa sesión son:

Encabezados:

Código: Python
  1. headers = {
  2.  
  3.     'User-Agent':'Mozilla/5.0 (X11; Linux i686; rv:71.0) Gecko/20100101 Firefox/71.0',
  4.     'Accept':'application/json, text/plain, */*',
  5.     'Accept-Language':'es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3',
  6.     'Authorization':'Bearer qXeyJhbGciOiJIUzI1NiJ9.eyJjdCI6Ikd2VWgyMVh2NEZEdmY2dnZhNWpLM09scnlpd2dNa01FaXZoWmRuNkduXy0xeGpiaUlEb1k0eXI1VE1DYjBfQTdMYy1rQ2xqZnYxR1lsQ20wc3ZWN0FIRXNOUFVZbEdnekw1ZEREYlpHSlRqSTlhZUxuZXZpVUwtaXc1QVpZZ0NkSGlwckphcDRpOXlSUnFtYU1GWVhvVkozdG01M0Y0aE5JVVF3bV9ZWnJaMCIsInNjb3BlIjoicmVnaXN0cmF0aW9uIiwia2lkIjoiNWFmZjhlMTciLCJleHAiOjE1NzYyOTQ5OTQyNDgsIml2IjoicWdXOVBjekM1eThKWW0tU2dURGs0ZyIsImlhdCI6MTU3NjI4Nzc5NDI0OCwidmVyc2lvbiI6Mn0.L7UNHdDSelRBclCp8FPqJd3kPadDA4K5C2uoGe9b-c4',
  7.     'X-UI-APP':'@umreg/registration-app2/5.9.1',
  8.     'X-CCGUID':'56c2cfb3-789d-4a38-afc2-0e49ffe318d6',
  9.     'X-REQUEST-ID':'1e58a517-37e6-4e6f-961b-fa1f8aa2e9e4',
  10.     'Content-Type':'application/json',
  11.     'Origin':'https://signup.gmx.com',
  12.     'Connection':'keep-alive',
  13.     'Referer':'https://signup.gmx.com/',
  14.  
  15. }

Datos por el método POST:

Código: Python
  1. data = {
  2.        
  3.     "emailAddress":"[email protected]",
  4.     "countryCode":"US",
  5.     "suggestionProducts":["gmxcomFree"],
  6.     "maxResultCountPerProduct":"10",
  7.     "mdhMaxResultCount":"5",
  8.     "requestedEmailAddressProduct":"gmxcomFree"
  9.  
  10. }

Mientras que en CURL sería un poco diferente:

Código: Bash
  1. curl 'https://onereg-email-suggest.gmx.com/email-alias/availability' -H 'User-Agent: Mozilla/5.0 (X11; Linux i686; rv:71.0) Gecko/20100101 Firefox/71.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Authorization: Bearer qXeyJhbGciOiJIUzI1NiJ9.eyJjdCI6Ikd2VWgyMVh2NEZEdmY2dnZhNWpLM09scnlpd2dNa01FaXZoWmRuNkduXy0xeGpiaUlEb1k0eXI1VE1DYjBfQTdMYy1rQ2xqZnYxR1lsQ20wc3ZWN0FIRXNOUFVZbEdnekw1ZEREYlpHSlRqSTlhZUxuZXZpVUwtaXc1QVpZZ0NkSGlwckphcDRpOXlSUnFtYU1GWVhvVkozdG01M0Y0aE5JVVF3bV9ZWnJaMCIsInNjb3BlIjoicmVnaXN0cmF0aW9uIiwia2lkIjoiNWFmZjhlMTciLCJleHAiOjE1NzYyOTQ5OTQyNDgsIml2IjoicWdXOVBjekM1eThKWW0tU2dURGs0ZyIsImlhdCI6MTU3NjI4Nzc5NDI0OCwidmVyc2lvbiI6Mn0.L7UNHdDSelRBclCp8FPqJd3kPadDA4K5C2uoGe9b-c4' -H 'X-UI-APP: @umreg/registration-app2/5.9.1' -H 'X-CCGUID: 56c2cfb3-789d-4a38-afc2-0e49ffe318d6' -H 'X-REQUEST-ID: 1e58a517-37e6-4e6f-961b-fa1f8aa2e9e4' -H 'Content-Type: application/json' -H 'Origin: https://signup.gmx.com' -H 'Connection: keep-alive' -H 'Referer: https://signup.gmx.com/' --data '{"emailAddress":"[email protected]","countryCode":"US","suggestionProducts":["gmxcomFree"],"maxResultCountPerProduct":"10","mdhMaxResultCount":"5","requestedEmailAddressProduct":"gmxcomFree"}'

Tuve algunos problemas no sé sí es que me bloquearon o es mis velocidades de conexión.

Alternativamente a la explicacion he creado un pequeño script en bash:

Código: Bash
  1. #!/usr/bin/env bash
  2.  
  3. declare -a params=($*)
  4. declare -x email;
  5.  
  6. if [ ${#params[@]} -ne 1 ];then
  7.  
  8.         echo -e "Sintaxis: ${params[0]} <Dirección de correo electrónico>"
  9.         exit 1
  10.  
  11. else
  12.  
  13.         email=${params[0]}
  14.  
  15. fi
  16.  
  17. echo -e "Primera Petición:"
  18.  
  19. curl 'https://onereg-email-suggest.gmx.com/email-alias/availability' -X OPTIONS -H 'User-Agent: Mozilla/5.0 (X11; Linux i686; rv:71.0) Gecko/20100101 Firefox/71.0' -H 'Accept: */*' -H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Access-Control-Request-Method: POST' -H 'Access-Control-Request-Headers: authorization,content-type,x-ccguid,x-request-id,x-ui-app' -H 'Referer: https://signup.gmx.com/' -H 'Origin: https://signup.gmx.com' -H 'Connection: keep-alive' -i
  20.  
  21. echo -e "Segunda Petición:"
  22.  
  23. curl 'https://onereg-email-suggest.gmx.com/email-alias/availability' -H 'User-Agent: Mozilla/5.0 (X11; Linux i686; rv:71.0) Gecko/20100101 Firefox/71.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Authorization: Bearer qXeyJhbGciOiJIUzI1NiJ9.eyJjdCI6ImZhN0NOQlRlQkgtOWg4NmtMTndJbXB6ZXJYX0hlcElTNjJVWEVXQ1ppNjVnSDdnZ0s2YWpxdkt2dTdzVkNPbUMwc3pGRkVTVEI0Y01hNkdfYnFUekNGa2JXUFVtRjVHMGJob1ljaFhLLXl3OUZVcmVpMzFRNVlqdUgxMFlrX09KQTR4dExlQmY4R2k0TUlzMU9CRkRGckxHUlAzLVJMT2FFRVJuTjlVVG8zbyIsInNjb3BlIjoicmVnaXN0cmF0aW9uIiwia2lkIjoiNzllZjg4YTkiLCJleHAiOjE1NzY0MTUzNDY2NTYsIml2IjoiNjVCTmJlWWw1MWVhU041VEpROTdlUSIsImlhdCI6MTU3NjQwODE0NjY1NiwidmVyc2lvbiI6Mn0.CWcOW0NVyUKpJG0cM0rMjAxewJh6LatdTXo9Vj0uO7Y' -H 'X-UI-APP: @umreg/registration-app2/5.9.1' -H 'X-CCGUID: b0846f29-1527-4142-bb51-600d2864f070' -H 'X-REQUEST-ID: 40adec1b-bd05-4920-b74f-9ecf198b17f1' -H 'Content-Type: application/json' -H 'Origin: https://signup.gmx.com' -H 'Connection: keep-alive' -H 'Referer: https://signup.gmx.com/' --data '{"emailAddress":"'$email'","countryCode":"US","suggestionProducts":["gmxcomFree"],"maxResultCountPerProduct":"10","mdhMaxResultCount":"5","requestedEmailAddressProduct":"gmxcomFree"}' -i
  24.  

OJO: No sé cuánto dure la funcionalidad del script, ya que hay que cambiar algunos parámetros y no he hecho muchas pruebas, cómo le dije por mis conexiones nefastas.

El modo de ejecución es el siguiente: bash <nombre del script>.sh <dirección del correo electrónico>

Ejemplo:

Código: Bash
  1. bash GMXXXChecker.sh test@gmx.com

La salida seria:

Código: Text
  1. Primera Petición:
  2. HTTP/1.1 200 OK
  3. Date: Sun, 15 Dec 2019 11:39:34 GMT
  4. Server: Apache
  5. Strict-Transport-Security: max-age=31536000; includeSubDomains
  6. Access-Control-Allow-Origin: https://signup.gmx.com
  7. Access-Control-Allow-Credentials: true
  8. Vary: Origin
  9. Access-Control-Allow-Methods: HEAD, POST, GET, OPTIONS
  10. Access-Control-Allow-Headers: authorization,content-type,x-ccguid,x-request-id,x-ui-app
  11. Content-Length: 0
  12. Connection: close
  13.  
  14. Segunda Petición:
  15. HTTP/1.1 200 OK
  16. Date: Sun, 15 Dec 2019 11:39:47 GMT
  17. Server: Apache
  18. Strict-Transport-Security: max-age=31536000; includeSubDomains
  19. Access-Control-Allow-Credentials: true
  20. Access-Control-Allow-Origin: https://signup.gmx.com
  21. Vary: Origin
  22. X-UI-VERSION: 2.5.25/2.5.25
  23. X-UI-PROVIDED-IDENTITY: [email protected]
  24. Content-MD5: k3V8C6dWKPHVMwlgVDCKpw==
  25. cache-control: no-cache
  26. X-REQUEST-ID: 40adec1b-bd05-4920-b74f-9ecf198b17f1
  27. X-Content-Type-Options: nosniff
  28. Content-Length: 292
  29. Connection: close
  30. Content-Type: application/json;charset=utf-8
  31.  
  32. {"requestedEmailAddress":"[email protected]","emailAddressAvailable":false,"suggestedEmailAddresses":{"gmxcomFree":["[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"]},"mdhSuggestions":[]}

Me preocupa el hecho de que un atacante pueda confirmar con una lista de direcciones sí existen o no en este servicio  :(, pero creo que lo que hice podria cambiar al servicio (creo); También eso solucionaria el problema de @xne7esx, pero igual no se fie del script hay que cambiar algunas cosas manualmente por cada sesión y no sé sí funcione cuando usted lo pruebe, pero yo le recomiendo que aprenda Python y Selenium.

~ DtxdF
« Última modificación: Diciembre 15, 2019, 04:47:53 pm por DtxdF »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 24326
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 11281
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 9863
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 14202
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 13367
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon