miércoles, 21 de marzo de 2007

Vision Cristiana sobre la extincion de los dinosaurios

Debes ver esto!
es sorprendentemente cierto y tiene mas fundamentos que las extrañas teorias de que una especie puede convertirse en otra.

http://www.youtube.com/watch?v=uxMJIyWKKDA&mode=related&search=

jueves, 15 de marzo de 2007

Tetris Gigante!!!

Esto es el colmo geek. El juego mas grande de tetris jamas jugado: los pixeles son ventanas de un edificio. No se como hicieron esto, no he encontrado detalles, pero se dice por ahi que fue controlado por telefono. Mucho mas geek aun!!!! http://www.youtube.com/v/Zq5vXqrIwjE

lunes, 12 de marzo de 2007

Lectura arbitraria de archivo local con iFrames, DOM y JavaScript

Este Post ha sido Actualizado

Descubri que existe una forma muy sencilla de subir archivos locales arbitrarios a un servidor remoto a partir de un rejuego de iframes y javascript.

Hasta ahora, esta prueba funciono con:
- Mozilla Firefox v2.0.0.3
- Safari v2.0.4 (419.3)


Planteamos el siguiente escenario:

  • Victima: Custodio del archivo que deseamos, por ejemplo: /etc/shadow
  • Victimario: Persona interesada en adquirir el archivo.
  • Servidor Web del Victimario: Este recibira el archivo deseado.
  • Archivo HTML: Este archivo es portador del script que hace el trabajo. Podrias, por ejemplo, insertar dicho script en un Manual HTML legitimo.
Contenido del Archivo quiero-tu-etc-passwd.html

Notemos que hay un iframe que carga el archivo deseado (/etc/passwd), sabemos que via XMLHTTPRequest() es muy ruidoso hacer un upload, ya que por default los browsers impiden esto entre dos zonas diferentes (local y remota).
Por tanto, el script lo que hace es cambiar los datos de un form, hacer un post con el contenido del iframe como el parametro data al php, el cual rapidamente devolvera a la pagina anterior.

Veamos getit.php

Ventajas:
  • Obtencion de archivos de una forma casi imperceptible
  • Utiliza canales ya autorizados (el web browser predefinido)
  • No genera y no viola las politicas de seguridad del browser ni las del firewall


Desventajas:
  • Se debe conocer previamente el nombre del archivo.
  • La victima debe recibir previamente el documento.


Planes futuros:
  • Investigar la posibilidad de hacer esto de forma remota
  • Implementar la misma tecnica en Widgets para Mac OS X

miércoles, 21 de febrero de 2007

Descendiente de Adam

Descendiente de Adam Este es mi último rap. Es una reflexión y una invitación a dar un paso hacia la Nueva Creatura según la imagen de Cristo Jesús, el Nuevo Hombre, el Postrer Adam. Haste parte de la descendencia de Jesús Rey de Reyes. Ya a Adam no le queda nada por hacer Hit it...

martes, 13 de febrero de 2007

NES-B0X v1.0

Yo soy de la generación del NINTENDO. Mi primer contacto con esta plataforma fue en el 1987 y este evento transformo mi voda. El Nintendo fue quien me inicio en mi busqueda de conocimiento informático. Simplemente emularlo no te da la sensación original de aquellos días y de los controles anti-ergonómicos, así que me decidí a reinventar la rueda... Este es el NES-B0X v1.0, basicamente, convertir una computadora o laptop vieja en un NES. Aquí tengo un breve infomentario: Solo necesitas hacer una inversión inferior a los RD$100.00: Hardware: - 3 diodos 1N914 - 2 Controles NES - 1 DB25 Macho - un poco de alambre de cobre He aquí un Esquemático: Software: - Un emulador de Nintendo (yo uso Loopy.exe para este caso) - SNESKEY (para mapear del Control LPT al Teclado: http://arcadecontrols.com/Mirrors/www.csc.tntech.edu/~jbyork/default.htm) - NES-B0X v1.0 (by XenoMuta :) ) - Los ROMS a jugar... Para mayor detalle sobre el esquemático y el SNESKey por favor, RTFM: http://arcadecontrols.com/Mirrors/www.csc.tntech.edu/~jbyork/manual/manual.html

lunes, 5 de febrero de 2007

Mi Atari Punk Console

Wow, me volvi loco con esto que vi.... asi que me arme el mio propio. Bueno, este es el projecto. en fin, este dispositivo sencillo genera ruidos similares al los del ATARI 2600 Este es el circuito, creacion original de Forrest M. Mims, III (Siliconcepts, 1984)... Aclaracion: Si, ya se que no se nada de electronica y que esta medio feas...

lunes, 18 de diciembre de 2006

pskpipe v1.0

Basicamente, el nombre lo dice todo.
Este programa hace un xor de lo que entra por stdin
contra una llave pre-compartida (PSK).

Esto tiene muchos usos creativos que puedes imaginar...

No siempre confias en ciertos pipes...
asi que...
helo aki...
pskpipe.c

martes, 5 de diciembre de 2006

Dinero Sangriento, doblemente sucio.

Es una vergüenza que los bancos de este país (Rep. Dominicana) no tengan la delicadeza de elegir billetes, al menos, limpios para equipar los cajeros automáticos. Esta es la presentación de los billetes que me despacho un ATM del popular hace 2 días... Noten la sangre en los billetes. Esto le da un toque tremendo de Cosa Nostra.

viernes, 24 de noviembre de 2006

BUSTELO!

Mira mira lo que me regalaron, hueje hueje.

martes, 7 de noviembre de 2006

Decodificador DTMF para asterisk

Bendiciones!!! aqui les traigo un sencillo, pero util script para un IVR de asterisk (probe con trixbox) capaz de decodificar tonos dtmf. quizas en un meneo a lo 007 no andas con el hardware adecuado en la calle, o se te desafina tu oido, asi que... para casos extremos, no sobreescribas la memoria de ese redial y haz tu movimiento y ya tu sabe.... se bueno :) crea un sonido bien cool (en formato GSM preferiblemente, puedes hacer un: sox sonido-cool.wav -r 8600 -c 1 -t gsm /var/lib/asterisk/sounds/sonido-cool.gsm) y luego date un clasico vi a extensions_additional.conf agrega esta linea en donde tengas tus extensiones:

3137,1,Answer
3137,2,Goto(dtmf-dec,s,1)
(como sabras, no nesesariamente tiene que ser 3137, es preferible usar algo corto como *31) y (preferiblemente) al final del archivo:
[dtmf-dec]
; Dicta tonos DTMF marcados. Presiona # para hablarlos, * para salir
exten => s,1,Background(sonido-cool)
exten => s,2,NoOp()
exten => 0,1,Set(di=${di}${EXTEN})
exten => 1,1,Set(di=${di}${EXTEN})
exten => 2,1,Set(di=${di}${EXTEN})
exten => 3,1,Set(di=${di}${EXTEN})
exten => 4,1,Set(di=${di}${EXTEN})
exten => 5,1,Set(di=${di}${EXTEN})
exten => 6,1,Set(di=${di}${EXTEN})
exten => 7,1,Set(di=${di}${EXTEN})
exten => 8,1,Set(di=${di}${EXTEN})
exten => 9,1,Set(di=${di}${EXTEN})
exten => #,1,SayDigits(${di})
exten => #,2,Set(di="")
exten => *,1,Hangup
exten => s,4,Goto(s,2)