Underc0de

Programación General => C# - VB.NET => Mensaje iniciado por: Devilboy en Enero 09, 2011, 06:06:27 PM

Título: Mandar Correo con c# y smtp de gmail
Publicado por: Devilboy en Enero 09, 2011, 06:06:27 PM
primero se incluye este namespace

Código (csharp) [Seleccionar]
using System.Net.Mail;

y dentro de un boton por ejemplo se escribe esto:

Código (csharp) [Seleccionar]
            MailMessage correo = new MailMessage();
            correo.From = new MailAddress("Tu_correo");
            correo.To.Add("E-mail_destinatario");
            correo.Subject = "Prueba";
            correo.Body = "prueba de correo";
           
            SmtpClient cliente = new SmtpClient("smtp.gmail.com");
            cliente.Port = 587;
            cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");
            cliente.EnableSsl = true;
            cliente.Send(correo);



adema puede quedar mucho mas lindo si usamos un formulario windows y cambiamos los datos por campos de texto
ademas si se agrega esto:

Código (csharp) [Seleccionar]
correo.IsBodyHtml = true;

en el cuerpo del mensaje podemos agregar html


y para finalizar con estas lineas podemos adjuntar un archivo:

Código (csharp) [Seleccionar]
            Attachment adjuntos = new Attachment("ruta_de_nuestro_archivo/carta.txt");
            correo.Attachments.Add(adjuntos);


espero les guste
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: gosho en Noviembre 07, 2014, 11:08:05 AM
Devil, te hago una pregunta
en la parte del codigo donde mandas el usuario y la pass

cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");

no hay manera de que se utilice cifrada la password? porque lo veo muy vulnerable a ese paso jeje
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: Y3K en Noviembre 07, 2014, 05:27:36 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Devil, te hago una pregunta
en la parte del codigo donde mandas el usuario y la pass

cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");

no hay manera de que se utilice cifrada la password? porque lo veo muy vulnerable a ese paso jeje


En efecto, aunque no sé, si no me equivoco C# debe ser compilado, ¿no evitaría eso que se puede sacar el password?

Me imagino dependerá si se puede hacer ingeniería inversa o no.
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: gosho en Noviembre 07, 2014, 05:44:07 PM
Si, al compilarlo no lo va a hacer tan visible, pero sin saber mucho de ingenieria inversa, imagino que se debe poder facilmente leer eso...
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: Devilboy en Noviembre 07, 2014, 06:36:52 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Devil, te hago una pregunta
en la parte del codigo donde mandas el usuario y la pass

cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");

no hay manera de que se utilice cifrada la password? porque lo veo muy vulnerable a ese paso jeje

no veo mucho el caso a encriptar el campo de password, ya que el codigo se puede o debe usarse en un winform por lo que en lugar de hardcodear el password, este debe de ser un tipo textbox.text o mejor aun un textbox.password
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: OnTheCore en Noviembre 18, 2014, 11:50:14 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si, al compilarlo no lo va a hacer tan visible, pero sin saber mucho de ingenieria inversa, imagino que se debe poder facilmente leer eso...
Es texto plano, lo ves a simple vista en el ejecutable.

En si, nuestras contraseñas siempre estan guardadas en texto plano en nuestra computadora. Si no lo estan en disco, lo estan en memoria, asi que no veo necesario el cifrar la contraseña en este caso.
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: Y3K en Noviembre 19, 2014, 01:00:40 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Es texto plano, lo ves a simple vista en el ejecutable.

En si, nuestras contraseñas siempre estan guardadas en texto plano en nuestra computadora. Si no lo estan en disco, lo estan en memoria, asi que no veo necesario el cifrar la contraseña en este caso.

¿Estás seguro de lo que estás diciendo? ¿nuestras contraseñas siempre están en texto plano? Creo que me he perdido de algo muy grande por allí entonces, por que todas las mías están encriptadas, aunque claro me puedo equivocar...
Título: Re:Mandar Correo con c# y smtp de gmail
Publicado por: OnTheCore en Noviembre 19, 2014, 08:59:07 PM
Encriptadas donde? Encriptadas por que? En memoria nunca van a estar encriptadas, de ahi es facil sacarlas (dumpeando la memoria, hookeando ciertas funciones)
Las contraseñas generalmente se guardan en archivos de texto (los archivos de filezilla, los de pidgin) sin cifrar o en bases de datos que son faciles de descifrar ya que las contraseñas para descifrar esas DB estan en alguna parte del ejecutable o del registro o algun archivo (Thunderbird, Firefox y la mayoria de los navegadores hacen esto. Pueden encontrarse programas que recuperan estas contraseñas). O guardan hashes que se rompen bruteforceando.
Puede que esten encriptadas en disco (Software de gestion de claves y cosas asi), pero dumpeando la memoria despues de que pusiste la password, plaf, owned.
Manejar contraseñas siempre va a ser inseguro a menos que se cifre el disco, tambien pueden quedar en hiberfil.sys o pagefil.sys en el caso de windows.
En el caso de ejecutables, por mas encriptado que este algo, siempre lo vas a poder descifrar (bueno, a menos que este el dato cifrado ahi y la contraseña para descifrarlo no este guardada en ningun lado)
Encriptadas por que y como? En donde lo decis? Si me das mas info sobre tu caso talvez pueda ayudarte.

Creo que no fui muy claro. Por mas que encriptes contraseñas en el disco, si tienen acceso, van a poder sacarla. Hay muchisimos factores que entran en juego. Te recomiendo que leas esto:
http://volatility-labs.blogspot.com.ar/2014/01/truecrypt-master-key-extraction-and.html
En esa pagina hay mucha informacion del tema.

Aca hay software util http://www.nirsoft.net/utils/ para recuperar contraseñas.

Aca http://malwareconfig.com/ hay scripts que extraen la configuracion de algunos troyanos publicos que en muchos casos esta "encriptado".

Y asi puedo seguir dando ejemplos :P