|
Reciban un saludo desde este lado del mundo. El día de hoy veremos
el tipo de basura que nos venden para restringir a los usuarios usando
applets, abran sus mentes, respiren profundo y ahí vamos:
¿Que es un applet?
Antes que me empiece a alucinar pongámonos de acuerdo de que es
un applet. Por ahí de 1995 sale al mercado un nuevo lenguaje llamado
java, el cual se basa bastante en el ya conocido C++ pero con algunas
limitantes que dizque para hacerlo mas seguro, bueno, pues java con el
fin de ser multiplataformas genera un bytecode (una especie de código
ejecutable). Ahora bien, el applet es un programa java que se carga del
WWW y que es ejecutado mediante un navegador web con compatibilidad java
(Internet Explorer, NetScape, etc).
Identificando a la victima
THE APPLET PASSWORD WIZARD es un producto de WWW.COFFEECUP.COM el cual
nos da la opción de "proteger" algunos URLs para que
solo ciertos usuarios tengan acceso a el (Por ejemplo: compartir a solo
tus conocidos ciertos archivos). Pues aunque usted no lo crea hay gente
que si lo usa y este es un ejemplo:
Ahora veamos el código fuente del .htm
Los parámetros que envía no nos dicen mucha cosa, todo esta
cifrado, así que iremos a obtener el applet : applet CODE="joylock.class",
el archivo joylock.class se encuentra en el mismo directorio así
que solo lo bajamos. En algunas ocasiones el mismo archivo .class necesita
otros archivos y para estar seguros la manera mas fácil es bajando
la pagina y ejecutarla localmente para ver si corre bien. En esta ocasión
solo este archivo es necesario, si no fuera así hay dos formas
de saber cuales son los archivos que hacen falta, la primera es observando
el error que nos da, si te dice algo como que le falta una clase "FulanitaX"
pues lo que haces es buscar el archivo FulanitaX.class (tienes que estar
pendiente a las mayúsculas y minúsculas, recuerda que se
basaron en C para hacer java) en la misma dirección, la segunda
es descompilando el .class, pero eso lo vemos adelante.
Tomando el control
Ya que hemos reproducido el ambiente y que lo tenemos localmente pues
ya estamos del otro lado, de aquí en adelante es lo mas sencillo
del mundo =). Existen programas comúnmente llamados descompiladores
o dissamblers, los cuales regresan los bytecodes a lenguaje java =), la
ventaja significativa con estos programas y en si con los bytecode es
que nos dan el código en java y no en otro lenguaje como sucede
por ejemplo con los descompiladores de programas windows que estos regresan
código ensamblador; podría dejar este articulo aquí
mismo, porque se que ya saben lo que se tiene que hacer, pero mejor no
me arriesgo y le sigo por si alguien esta dormido y no se entero.
Pues de los descompiladores que conozco son: Mocha y JAD, los cuales los
puedes encontrar fácilmente en la red, en lo particular prefiero
a JAD ya que no necesita el interprete java para ejecutarse.
f:\joy-c>jad joylock.class
Parsing joylock.class... Generating joylock.jad
f:\joy-c>_
Sin ningún problema =) , y para asegurarnos lo que podemos hacer
es renombrar el archivo .jad por .java y compilarlo, JAD generalmente
no falla, si estas usando Mocha y te marca errores intenta cambiando de
versión de JDK. Existen algunas formas de proteger nuestros applets
de estos programas pero en el caso de este applet pues no fue así
(mal hecho) y en alguna parte del código encontramos algo así:
final void decript(String
s, int i, int j, int k, int l, int i1, boolean flag)
así es, justo lo que se imaginan, tenemos el fuente de la función
con la cual son encriptados los parámetros, hacemos algunas modificaciones
sencillas:
Comentamos la linea que nos manda el error y en su lugar mandamos que
se muestre la variable linkURL que es la que tiene el valor del URL desencriptado,
ahora lo compilamos y lo ejecutamos dandole cualquier password y cualquier
usuario:
Hurra, tenemos el URL secreto =)
Como verán pues no fue la gran cosa saltarnos esta restricción
y como este applet hay mas, así que para la próxima vez
que te encuentres con una restricción pues ya tienes algunos conocimiento
útiles para saltártela sin mayor problema y si pensabas
comprar este producto o alguno por el estilo pues ya tienes una razón
para no hacerlo.
|