Banner 1

Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

Introducción a MySQL

0 comentarios
// © 2010 Blackubay
Justificación:
Este pequeño tutorial, tiene como finalidad introducir a todos aquellos usuarios, que quieran iniciarce en este mundo del SQL, pero que no tienen ni idea por donde empezar.

Recursos:
Por ahora solamente necesitamos instalar MySQL.

Regresando de mis dos semanas de vacaciones :D

Bueno, ya salí del colegio y decidí tomarme unas vacaciones :D, pero ya estoy de vuelta con más fuerza, con más flow y con todos los hierros jeje.

Para comenzar, escuchemos una poco de buena "musica" imposible olvidarnos del rey bruce :D

Excelente, ahora que tenemos la inspiración necesaria, vamos a aprender un poco de mysql y a manipularla desde php.

Comencemos con conectarnos al servidor mysql desde la consola, para esto abrimos nuestra terminal, bien sea "cmd" o "bash", y tecleamos la siguiente linea

mysql -h localhost -u root -p

Veamos, con el comando mysql invocamos el servidor mysql, con la opción -h indicamos que a seguir se especifica el nombre del servidor, en este ejemplo es localhost, con la opción meno -u señalamos el nombre del usuario, en nuestro caso "root", y por ultimo la opción -p con la cual obligamos al servidor a realizar la autentificación de nuestro usuario.

Una vez hecho esto, el sistema nos arroja este mensaje de entrada.


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.0.51a-24+lenny4 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


El promp "mysql>" nos indica que el servidor está preparado para ejecutar las ordenes SQL que ingresemos, ahora que estamos conectados al serviodor, estamos preparados para entrar en la candela.

Ahora crearemos una base de datos propia :D, pero antes debemos averiguar que bases de datos existen, para no repetir los nombres, para eso tenemos la sentencia "SHOW DATABASES".


mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)


Nota:
no debemos olvidar utilizar punto y coma ";" al finalizar una sentencia o una consulta.

Muy bien, ahora, crearemos nuestra BD(base de datos), en mi caso particular llevara por nombre azzurri (Amo il calcio... :$), bien, para crear nuestra DB utilizamos la sentencia
"CREATE DATABASE", inmediatamente despues escribimos el nombre que llavará nuestra DB


mysql> create database azzurri;
Query OK, 1 row affected (0.01 sec)


Bueno ya la creamos, ahora, verifiquemos que está todo en orden con nuestro amigo "SHOW DATABASES".


mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| azzurri |
| mysql |
+--------------------+
3 rows in set (0.00 sec)


Excelente, ya vemos que si está :D, vamos por buen camino, ahora crearemos una tabla e insertaremos datos, para manipularlos desde php.

Para crear una tabla dentro de la base de datos debemos situarnos en ella, para eso escribimos "USE" seguido del nombre de la base de datos, y posteriormente podremos crear las tablas.


mysql> use azzurri;
Database changed


Ya estamos en la base de datos, ahora procedemos a crear la tabla, pero antes echen un vistazo a esta pagina, donde publican información muy detallada sobre los "tipos de datos SQL", pero ,¿porque es tan importante conocer los tipos de datos?, muy simple, a la hora de crear tablas, se deben especificar los tipos de datos que van a contener las columnas.

Nota:
Doy por entendido que el lector posee conocimientos sobre los tipos de datos en mysql.

Para crear una tabla se utiliza la sentencia "CREATE TABLE", la tabla de llamara equipo, y tendrá 3 columnas, para almacenar información, y 1 columna que identifique de manera inequívoca a cada jugdor que sera el id, las columnas para almacenar información se llamaran, jugador, posicion y numero.

la columna jugador sera del tipo char, porque almacenara texto al igual que la columna posicion, y la columna numero sera del tipo tinyint, porque almacenara enteros pequeños, ahora si manos a la ubre :D


mysql> create table equipo (id tinyint not null auto_increment, jugador char(25), posicion char(20), numero tinyint, primary key(id));


Ya creamos nuestra tabla, ahora, verifiquemos, utilizando "SHOW TABLES".


mysql> show tables;
+-------------------+
| Tables_in_azzurri |
+-------------------+
| equipo |
+-------------------+
1 row in set (0.00 sec)


Si, allí esta nuestra tabla, ahora vamos a insertar datos a nuestra tabla, utilizando la sentencia "INSERT".


mysql> insert into equipo (jugador, posicion, numero) values ('Gianluigi BUFFON', 'GK', 1);


Como podemos ver, bien, hasta ahora nada complicado, "insert into equipo" dictamos que haremos una inserción de datos en la tabla equipo "(jugador, posicion, numero)" especificamos, las columnas de la tabla equipo a las cuales le insertaremos los datos, "values ('Gianluigi BUFFON', 'GK', 1)" son los datos que insertaremos, en el mismo orden en el que especificamos las columnas, es decir, "Gianluigi BUFFON", lo insertaremos en la columna "jugador", y asi sucesivamente.

Ahora, vamos a verificar que todo salió bien, realizando una pequeña consulta, donde seleccionaremos todos los datos de la tabla, utilizando la sentencia "SELECT".


mysql> select * from equipo;
+----+------------------+----------+--------+
| id | jugador | posicion | numero |
+----+------------------+----------+--------+
| 1 | Gianluigi BUFFON | GK | 1 |
+----+------------------+----------+--------+
1 row in set (0.02 sec)


Excelente, ahora del mismo modo, vamos a insertar unos 20 o 30 datos mas, para que nuestro trabajo sea un poco mas interesante y divertido :D, recuerden que estos datos los manipularemos desde php, acá les dejo, para que me sigan :D


insert into equipo (jugador, posicion, numero) values ('Fabio CANNAVARO', 'DF', 5),('Daniele DE ROSSI', 'MF', 6),('Simone PEPE', 'MF', 7),('Gennaro GATTUSO', 'MF', 8),('Vincenzo IAQUINTA', 'FW', 9),('Antonio DI NATALE', 'FW', 10),('Alberto GILARDINO', 'FW', 11),('Federico MARCHETTI', 'GK', 12),('Mauro CAMORANESI', 'MF', 16),('Gianluca ZAMBROTTA', 'DF', 19),('Andrea PIRLO', 'MF', 21),('Riccardo MONTOLIVO', 'MF', 22);


Ahora que ya tenemos toda la seleccion azzurri y unos de banca, pues vamos a consultar nuestra tabla a ver como quedo de bonita :D


mysql> select * from equipo;
+----+--------------------+----------+--------+
| id | jugador | posicion | numero |
+----+--------------------+----------+--------+
| 1 | Gianluigi BUFFON | GK | 1 |
| 2 | Fabio CANNAVARO | DF | 5 |
| 3 | Daniele DE ROSSI | MF | 6 |
| 4 | Simone PEPE | MF | 7 |
| 5 | Gennaro GATTUSO | MF | 8 |
| 6 | Vincenzo IAQUINTA | FW | 9 |
| 7 | Antonio DI NATALE | FW | 10 |
| 8 | Alberto GILARDINO | FW | 11 |
| 9 | Federico MARCHETTI | GK | 12 |
| 10 | Mauro CAMORANESI | MF | 16 |
| 11 | Gianluca ZAMBROTTA | DF | 19 |
| 12 | Andrea PIRLO | MF | 21 |
| 13 | Riccardo MONTOLIVO | MF | 22 |
+----+--------------------+----------+--------+
13 rows in set (0.00 sec)


Mortal, :D(ahora solo me queda ver el trbajo del nuevo DT Cesare prandeli, limpie el nuestra fama, gracias por la copa lippi, espero te valla de maravillas :D ), ahora que ya tenemos una tabla decente, que les parece si practicamos un poco con el "SELECT", primero vamos a seleccionar solamente 2 columnas.


mysql> select jugador,posicion from equipo;
+--------------------+----------+
| jugador | posicion |
+--------------------+----------+
| Gianluigi BUFFON | GK |
| Fabio CANNAVARO | DF |
| Daniele DE ROSSI | MF |
| Simone PEPE | MF |
| Gennaro GATTUSO | MF |
| Vincenzo IAQUINTA | FW |
| Antonio DI NATALE | FW |
| Alberto GILARDINO | FW |
| Federico MARCHETTI | GK |
| Mauro CAMORANESI | MF |
| Gianluca ZAMBROTTA | DF |
| Andrea PIRLO | MF |
| Riccardo MONTOLIVO | MF |
+--------------------+----------+
13 rows in set (0.00 sec)


Ok, vamos a analizar un poco esta consulta, "select jugador,posicion" seleccionamos las columnas "jugador,posicion", de la tabla equipo, para especificar que tabla vamos a trabajar, llamamos a nuestro amigo "from" de esta manera "from equipo", ufff, veo que lo agarran rápido, pero que mas podemos hacer?, que les parece si solo seleccionamos jugadores que tengan la posicion GK, con esas dos columnas.


mysql> select jugador,posicion from equipo where posicion='GK';
+--------------------+----------+
| jugador | posicion |
+--------------------+----------+
| Gianluigi BUFFON | GK |
| Federico MARCHETTI | GK |
+--------------------+----------+


Exelente, podemos apreciar que a nuestra consulta anterior solo le agregamos "where posicion='GK'", este pedacito, indica que solo se van a seleccionar los registros que cumplan con esa condicion, ahora que tal si ordenamos de manera descentende esos registros.


mysql> select jugador,posicion from equipo where posicion='GK' order by id desc;
+--------------------+----------+
| jugador | posicion |
+--------------------+----------+
| Federico MARCHETTI | GK |
| Gianluigi BUFFON | GK |
+--------------------+----------+


Recordemos que el id, es el número identificacion que le asignamos a cada jugador.

Muy bien, ahora, tan solo nos queda, modificar y eliminar registros, para modificar registros, se utiliza la sentencia "UPDATE", vamos cambiar el nombre del jugador con el id Nº 12 por PIRLO solamente.


mysql> update equipo set jugador='PIRLO' where id=12;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0


Perfecto, ahora consultemos la tabla a ver que tal.


mysql> select * from equipo;
+----+--------------------+----------+--------+
| id | jugador | posicion | numero |
+----+--------------------+----------+--------+
| 1 | Gianluigi BUFFON | GK | 1 |
| 2 | Fabio CANNAVARO | DF | 5 |
| 3 | Daniele DE ROSSI | MF | 6 |
| 4 | Simone PEPE | MF | 7 |
| 5 | Gennaro GATTUSO | MF | 8 |
| 6 | Vincenzo IAQUINTA | FW | 9 |
| 7 | Antonio DI NATALE | FW | 10 |
| 8 | Alberto GILARDINO | FW | 11 |
| 9 | Federico MARCHETTI | GK | 12 |
| 10 | Mauro CAMORANESI | MF | 16 |
| 11 | Gianluca ZAMBROTTA | DF | 19 |
| 12 | PIRLO | MF | 21 |--->Exelente!
| 13 | Riccardo MONTOLIVO | MF | 22 |
+----+--------------------+----------+--------+
13 rows in set (0.00 sec)


Ya casi llegamos al final de esta pequeña introduccion al SQL, pero no sin antes, eliminar nuestras huellas!, primero borraremos, un registro de la tabla, luego la tabla y por ultimo la base de datos (Es dificil borrar a alguno de esa tabla :D todos son mis favoritos!), bueno primero borraremos de nuestra lista a "Federico MARCHETTI", para eso utilizaremos la sentencia "DELETE".


mysql> delete from equipo where id=9;


Creo que bastante sencillo, "delete from equipo" borramos la tabla equipo, donde id sea igual a 9 -> "where id=9".


mysql> select * from equipo;
+----+--------------------+----------+--------+
| id | jugador | posicion | numero |
+----+--------------------+----------+--------+
| 1 | Gianluigi BUFFON | GK | 1 |
| 2 | Fabio CANNAVARO | DF | 5 |
| 3 | Daniele DE ROSSI | MF | 6 |
| 4 | Simone PEPE | MF | 7 |
| 5 | Gennaro GATTUSO | MF | 8 |
| 6 | Vincenzo IAQUINTA | FW | 9 |
| 7 | Antonio DI NATALE | FW | 10 |
| 8 | Alberto GILARDINO | FW | 11 | --del 8
| 10 | Mauro CAMORANESI | MF | 16 | --salta al 10, excelente!
| 11 | Gianluca ZAMBROTTA | DF | 19 |
| 12 | PIRLO | MF | 21 |
| 13 | Riccardo MONTOLIVO | MF | 22 |
+----+--------------------+----------+--------+
12 rows in set (0.00 sec)



Ahora borramos la tabla, pero para borrar una tabla no se nos sirve delete, para eso utilizamos "DROP TABLE".



mysql> drop table equipo;


Ya borramos, ahora, comprobamos con nuestro viejo amigo "SHOW TABLES".


mysql> show tables;
Empty set (0.00 sec)


Eso!, no existe la tabla, ahora la base de datos, para eso utilizamos "DROP DATABASE".


mysql> drop database azzurri;
Query OK, 0 rows affected (0.01 sec)


Bacano, a comprobar si en verdad la borro, esto siempre lo acostumbro, porque soy medio miope o_O nunca esta de más corroborar, y mas cuando hacemos algo con urgencia
Nuevamente le hablamos a nuestro compadre "SHOW DATABASES".


mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)


Listo, termino nuestra clase, seguro se preguntaran que paso con el php!!, nada, ahora ya tienen las bases y las referencias para investigar y poner en practica lo acá expuesto, y en una proxima entrega nos la curramos con el PHP.

Saludos.

ATT:
Blackubay

Creando reto RaR...

0 comentarios
Para nuestro reto, primero debemos tener los siguientes ingredientes:

* 1 archivo rar (el contenido puede ser loque sea)
* Localhost (yo utilizo appserver en windXP y en ubuntu instale todo por separado)

primero creamos nuestro archivos rar, en este colocaremos un archivo txt que diga "Bingo!!!..."

ahora creamos un archivo php con el siguiente contenido



$contenidoRaR=file_get_contents('archivorar.rar'); //obtenemos el contenido del archivo "archivorar.rar"

echo $base64=base64_encode($contenido); //imprime el contenido del "archivorar.rar" codificado en Base64

file_put_contents('contenidoCifrado.txt', $base64); // escribe en el archivo "contenidoCifrado.txt" el contenido codificado del "archivorar.rar"...

listo! ya tenemos nuestro reto, ahora solo damos el Base64, y que ellos se las arreglen para leer "Bingo!!!...", pero como le hecemos nosotros para resolver nuestro propio reto?.

escribimos otro php

con la misma tecnica con la que creamos nuestro reto, con unas modificaciones muy minimas


$contenidoRaR=file_get_contents('contenidoCifrado.txt');//Obtenemos el contenido de "contenidoCifrado.txt"

echo $Resuelto=base64_decode($contenidoRaR); //Lo decodificamos y lo imprimimos

file_put_contents('solucion.rar', $Resuelto); // escribimos el contenido decodificado en "solucion.rar"

y tendremos nuestro rar, con la parola Bingo!!!...

hasta la proxima.

PD: esto lo podemos hacer con zip, 7z, casi cualquier cosa, pasenla bien

Blackubay

CRIPTOGRAFIA EN .NET (C# 1.0, 1.1, 2.0)

0 comentarios
Sin lugar a dudas el .NET Framework (en cualquiera de sus versiones) trae consigo clases que les facilitan la vida al programador, haciendo que sus desarrollos sean un poco mas sencillos de realizar, la seguridad en las aplicaciones ha sido un tema primordial a trabajar en las aplicaciones .NET y pues para ello contamos con el espacio de nombres System.Security, que del mismo derivan varias clases, en este caso veremos la clase Cryptography, que nos genera valores HASH mediante el SHA1CryptoServiceProvider e implementando clases como Byte y tipos de datos string.

Veamos el código en C# (esta comentado)

static void Main(string[] args)

{

//Frase que vamos a encriptar

string strCadena = "Mygnet la comunidad de la programación";

//Convertimos los bytes

Byte[] strBytes = new UnicodeEncoding().GetBytes(strCadena);

//Encriptamos la cadena de bytes

strBytes = new SHA1CryptoServiceProvider().ComputeHash(strBytes);

Console.WriteLine("Aqui debajo aparece la cadena Encriptada");

//Hacemos una conversion de 64 - 24 caracteres

Console.WriteLine("" + Convert.ToBase64String(strBytes));

//Leemos la linea de consola

Console.ReadLine();

}

El resultado de esto en pantalla seria así:



http://www.mygnet.com/img/1144/frasecripto.jpg



Para que nos sirve esto: en caso de que tengamos un sito Web o una aplicación que corra en una Intranet, podemos asegurar los datos de los usuarios que utilizan el sistema, en caso para esto podríamos Encriptar contraseña y nombre de usuario en la BD y así proteger todos los roles y permisos de ese usuario (me refiero a información relevante), o porque no datos que consideremos que sean de vital importancia y no pueden ser divulgados (todo esto seria en caso de un ataque).

La criptografía no es un método que va evitar que intrusos (Hackers) puedan entrar a nuestra base de datos, para eso existen otras herramientas (que no son 100% seguras), pero si puede evitar que tomen una información, porque lo que el intruso vera es una cadena de texto sin sentido alguno.

Espero que les haya gustado este artículo y recuerden que pueden enviarme sus dudas y sugerencias, aunque como dije ya no pienso escribir mas para esta maravillosa comunidad, le agradezco a Martín Mondragón la invitación que me hizo al crear este sitio.

Muchas Gracias.

Fuente:http://www.mygnet.net/articulos/c_sharp/criptografia_en_dot_net_c_sharp_1_dot_0_1_dot_1_2_dot_0.930

Creando un HASH de ida y vuelta con MD5 en php.

0 comentarios

Pongamos un ejemplo: tengo un clásico listado de noticias y su respectivo detalle. En el listado propago el id de la noticia para saber cual levantar en el archivo de detalle (la típica noticias.php?id=1), pero que pasa si quiero proteger la identidad de dicho id? Puedo ofuscarlo pero no sería realmente una protección segura, o lo mejor, puedo hacer de éste un HASH pero no tendría vuelta (recordemos que un HASH no tiene vuelta) y en el caso de ser un id (un simple valor int) puedo usar brutal force para saber cual es el valor nativo con un simple for.
A continuación les mostraré que se puede generar un hash seguro, y no solo eso, sino que lo podré usar para comparar con el id real, aunque lo mejor es que será de manera simple.

No voy a explicar experiencias alternativas que he tenido con esto en este post, voy a ir al grano ejemplificando con php y mysql.
Supongamos que tenemos dos archivos, noticias_listados.php y noticias_detalles.php. En la primera tendré links del estilo:


”>

Todo lo que necesitare para continuar es una key que será un simple string declarado en un variable que tendré en un archivo en común (puede ser el de la conexión a la base de datos):

$key = ‘cu4n70_m4s_c0mpl3j0_m3j05’;

No tiene que ser largo, pero si le podemos poner caracteres especiales como un #o o un &, %, /,;,(,),etc, como si fuera un password nuestro.

Una vez ésto, para imprimir haremos:


”>

Lo que hacemos acá es meter la key que solo nosotros conocemos concatenada del id y generar un HASH usando MD5 (generalmente no dará de 32 caracteres, 16 en modo binario). De ésta manera tendremos en pantalla de nuestro browser algo como:

Esto es una noticia con su id HASEADO

Perfecto, acá ya logramos tener un id totalmente camuflado, y no solo eso, sino que de manera segura!.

Ahora, en el detalle solíamos hacer algo como:

$sql = “Select * from noticias where id = ‘$id’ ”;

Y se preguntaran como hacemos para volver este string de 32 caracteres al valor numérico que necesitamos; y la respuesta es que NO lo haremos, sino que transformaremos del lado de mysql los id en conjunto con nuestra key al momento de comparar. El código es simple:

$sql = “Select * from noticias where MD5(concat(’”.$key.”‘,id)) = ‘$id’”;

Con eso tenemos resulesto nuestro problema, no mostramos más nuestros id y nadie sabe como trabajamos internamente, lo que nos da un poco más de seguridad.

Aclaro que los valores que usamos en los where (variable $id) es una variable seteada previamente con el GET[‘id’] y limpia de malas intenciones, y lo mismo con otras variables como ser por ejemplo $r. Es solo una idea de como implementar este método, cualquier consulta será bienvenida.


Fuente:http://my2bits.wordpress.com/2007/09/19/creando-un-hash-de-ida-y-vuelta-con-md5-en-php/

Descarga la versión 2008 de la Wikipedia a tu ordenador

0 comentarios

Hace algún tiempo publiqué la versión 2007 de la Wipedia, por si alguno no sabía ahora ya lo sabe, la Wikipedia completa se puede descargar de forma directa a nuestro ordenador y en esta ocasión les presento la versión de Junio del 2008 (es la más actual).

Obviamente esta Wikipedia no es muy útil si tenemos acceso a internet pero podría llegar a servir en algún momento que nos quedaramos sin internet y necesitaramos buscar información al mismo tiempo o bien le podría servir a algún amigo o conocido que no disponga de conexión a internet ya que de esta forma tendría a su disposición absolutamente todo el contenido de la Wikipedia. Es importante señalar que esta versión está completamente en Español y viene en formato Html por lo que podremos visualizar su contenido con cualquier navegador web de forma offline.

El peso total del archivo a descargar es de 1.3 GB, de hecho el tamaño se ha reducido a consecuencia de que esta versión no cuenta con imágenes. Por otro lado les diré que el archivo viene en formato .7z por cual es necesario que instalen el programa 7-Zip para poder descomprimir dicho archivo. Después de haber extraído el contenido obtendrán otro archivo de 18 GB en formato .tar el cual deberán extraer con WinRar, cabe mencionar que este proceso es algo tardado y requiere de mucha paciencia por parte de nosotros y mucha potencia por parte de la máquina puesto que todo el proceso puede durar varias horas.



saludos

referencia:/mundoeddix.blogspot.com/

Generador de claves WEP para redes inalámbricas.

0 comentarios

Devido a la gran cantidad de unidades que hacen uso de las redes inalambricas para el acceso a internet o para compartir datos a travez de una red interna y para ayudar a la privacidad que esta se merecen, les ayudamos anuestros usuarios con un generador de claves WEP para redes inalámbricas.

En estos momentos, muchas redes WiFi se encuentran desprotegidas. Esta situación de inseguridad permite que cualquier persona sin conocimientos técnicos pueda usar la conexión a Internet de otro usuario o simplemente acceder a su red con el peligro de exponer todos sus datos. El desconocimiento de algunos usuarios a la hora de configurar su router o punto de acceso pone en grave peligro su privacidad y también puede ser victima de un uso malintencionado de su conexión, donde pueden involucrar su IP en actos delictivos.

La nueva herramienta gratuita consiste en un generador de claves WEP (Wireless Equivalent Protocol) y WPA (WiFi Protected Access) de forma aleatoria.

WEP.exe genera claves de 64 – 128 – 256 Bit tanto en Hexadecimal como en Ascii facilitando al usuario de forma rápida y cómoda cuatro claves para ser usadas inmediatamente, funciona tanto en plataformas Windows como en Linux (bajo el simulador Wine)

Descarga WEP.exe

Fuente: internautas.org


Fuente: http://www.billytec.com/2008/07/10/generador-de-claves-wep-para-redes-inalambricas/

Video Tuto Hacer Web Completa en Flash IMPERDIBLE!!!

0 comentarios
hhh... este es un Interesantisimo Video tutorial en 3 partes, donde Jorge Llanten nos enseña como crear un sitio Web Full Flash, en un solo archivo, esta completo y sinceramente en lo personal me fue de mucha guia a la hora de hacer algun trabajo en Flash... muy bueno sinceramente lo recomiendo ya que aclara algunas funciones y dan algunos parametros de como llegar a mismo punto utilizando dos vias, y la variacion del resultado... muy bueno, Bah!!! valorenlo Uds. Guys... que lo disfruten y lo aprovechen, saludos... EXITOS!!! cool.-



DESCARGA MU Sin Pass
DESCARGA RS
EN CUALQUIER PACK ESTAN LAS 3 PARTES COMPLETAS
Pass del .RAR: SATELITAL®
FORMATO: WMV
PESO: 31.51 MB
Enjoy www.culturahack.com /-.-

Fuente: http://culturahack.com.ar/Foro/index.php?topic=2203.0

Analizar bugs en aplicaciones Java.

0 comentarios

Analizar bugs en aplicaciones Java.

Una de los mejores analizadores bugs en Java es FindBugs, que utiliza el método de análisis estático.

Es muy fácil de utilizar solo hay que indicarle el archivo jar y el código asociado, para que lo analice. FindBugs después de analizar, mostrara un árbol con los errores archivados por categorías, indicando cómo debería mejorarse cada error.

Esta herramienta esta disponible para las plataformas: Windows, Linux y Mac OS X. Necesita para su funcionamiento Java 2 Standard Edition versión 1.5 o superior.

Con esta herramienta se puede incrementar el rendimiento de las aplicaciones desarrolladas en Java y su seguridad ante el aprovechamiento de bugs.

Más información y descarga de FindBugs:
http://findbugs.sourceforge.net/

Manual FindBugs:
http://findbugs.sourceforge.net/manual/index.html

Fuente:
http://vtroger.blogspot.com/2008/08/analizar-bugs-en-aplicaciones-java.html

TUTORIAL PROGRAMACION BAT

0 comentarios
Hola
Viendo que hay muchas personas que preguntan a menudo sobre este tema he decidido poner un pequeño texto que explique como funciona y que se puede hacer.

Posiblemente ya hay algún otro, pero yo no lo he visto.

Espero que le sea de utilidad a alguien
********************************************
Introducción
Antes que nada indicaros que se llaman procesos batch. La razón por la que a menudo se alude a ellos como bat es porque el entorno msdos requiere como máximo tres letras en la extensión y por tanto los archivos tienen la extensión .bat

¿Qué se puede hacer con ellos?
Pues se puede hacer de forma automatizada todo aquello que se pueda hacer en la consola de msdos.

¿Como hago un archivo bat
Pues son texto plano. Quiere eso decir que se pueden escribir en el block de notas, utilidad Edit de msdos o algún editor ascii.

Al guardarlos deben tener la notación de nombres propia de msdos. Esto es un nombre con máximo 8 letras (espacios y \ no permitidos), luego un punto y la extensión que en este caso es obligatoriamente bat.

Para crearlos desde la misma consola puedo utilizar varios sistemas

Sistema 1: mediante la orden copy
copy con: nombre_de_archivo.bat
...
...
comandos
...
...
Ctrl z (se acaba y se graba al pulsar Ctrl Z

Método 2 mediante la redirección
echo 1º línea a insertar >nombre_de_archivo.bat
echo restantes líneas >>nombre_de_archivo.bat

En cualquier caso para modificarlos podemos utilizar la utilidad Edit de msdos (abriendo el archivo concreto y luego grabando los cambios) o el block de notas.

¿Qué es eso de la redirección?
Pues al igual que en unix se puede hacer que la salida de un comando sirva como entrada de otro.

Para ello se utilizan los operadores <> que sirven para indicar que salida debe ir a que lugar

Por ejemplo si yo le doy la orden DIR, esta irá por defecto a la pantalla (dispositivo CON), pero puedo redirigir la salida a la impresora por defecto (dispositivo PRN) de la siguiente forma
dir >prn

Qué son los filtros
Los filtros son órdenes que sirven para formatear la salida del comando de acuerdo a nuestros intereses. Se utilizan mediante la barra vertical (Alt 124).

El filtro SORT sirve para ordenar la salida
dir | sort
El filtro MORE sirve para pausar la salida cada pantalla para que pueda ver todos los datos de salida con tranquilidad. Pasa de pantalla a pantalla al pulsar una tecla
dir | more

¿Como puedo seleccionar varios archivos
Para ello y teniendo en cuenta que los nombres de los archivos deben cumplir la notación de msdos (8 letras sin espacios como máximo, luego un punto y tres letras como máximo de extensión) se pueden utilizar los llamados comodines.
* Equivale a varios caracteres
? equivale a un solo caracter.

Ejemplos
comando *.cfg -> seleccionar todos los archivos que tengan la extensión cfg
comando a*.cfg -> seleccionar todos los archivos que comienzen por a y tengan la extensión cfg
comando a*b.cfg -> seleccionar todos los archivos que comienzen por a, acaben por b y tengan la extensión cfg
comando *asa*.cfg -> seleccionar todos los archivos que contengan 'asa' y tengan la extensión cfg
comando c?asa.cfg -> seleccionar todos los archivos que contengan una C, luego un caracter cualquiera y luego 'asa'. Debe tener también la extensión cfg
comando c?b*.* -> seleccionar todos los archivos que empiezen por c, tengan un caracter cualquiera, luego una b y cualquier extensión
comando *.b?t -> seleccionar todos los archivos que tengan una extensión que empieze por b, luego un caracter cualquiera y luego una t.

¿Que son las trayectorias o paths?
La trayectoria es el nombre completo de un archivo e indica la situación exacta de un archivo y su nombre.

Si digo que el archivo se llama leeme.txt indico su nombre, pero nada mas. Se da por supuesto que se encuentra en el directorio actual.

Si digo c:\leeme.txt indico que el archivo que me interesa se llama leeme.txt y se encuentra en el directorio raíz de C.

Dado que en msdos no se admiten nombres largos (mas de 8 letras) ni espacios, cuando quiero utilizar un nombre de windows en msdos debo saber que este será reconvertido a su nombre corto. Este se obtiene añadiendo los seis primeros carácteres válidos del nombre, luego el signo ~ (alt 126) y luego un número.

De esta forma un archivo que se encuentre en Mis documentos en win98 tendrá el path
c:\misdoc~1\leeme.txt

También se pueden utilizar (mientras las comillas para delimitar el nombre
"c:\Mis Documentos\leeme.txt"
Pero esto solo vale cuando se utiliza msdos como consola (no cuando se inicia windows 98 en modo msdos)

Obsérvese que se utiliza la barra contraria a la de linux/unix para especificar subcarpetas o subdirectorios

Esta sería la trayectoria de mimusica.mp3
c:\misdoc~1\mi~1\mimusica.mp3
Qué equivale a
"c:\Mis Documentos\Mi Música\mimusica.mp3"

Cuales son los nombres de dispositivos
La pantalla se llama CON. Por eso si redirigo algo a CON lo estoy sacando por pantalla.
La impresora por defecto se llama PRN
La primera impresora se llama Lpt1 y las demás Lpt2, Lpt3 (una en cada puerto paralelo instalado en el sistema). Hasta donde yo sé no hay posibilidad de llegar a USB si no es la impresora por defecto.

Como se les llama a las unidades lógicas
Siempre es una letra seguida del signo dos puntos.
A: = disquetera
B: = reservada para segunda disquetera
C: = primera partición (normalmente es la que arranca)
D: = segunda partición (generalmente el cdrom)
Por eso si se crea una unidad lógica mediante netbios en windows, esta puede tener un nombre msdos para poder acceder a ella desde la consola. La letra que se asigne no puede corresponder a una unidad lógica existente.

¿Qué comandos puedo utilizar?
Comandos básicos
CLS -> borra pantalla
ECHO -> tiene varias posibilidades:
Echo sin parámetros saca el estado en que se encuentra la variable echo (on u off)
Echo on activa el echo (como en un terminal TTY) por lo que los comandos se verán en pantalla y luego su resultado
Echo off desactiva el comando echo y ya se verán los resultados de la ejecución del comando, pero no el comando en sí mismo
Echo literal saca por pantalla el literal. Por eso al hacer echo literal >fichero.bat estamos redirigiendo la salida de echo literal (que tendría que salir por la pantalla) al archivo fichero.bat.
PAUSE ->Sirve para sacar un mensaje y parar la ejecución hasta que se pulse una tecla
PROMPT ->Sirve para cambiar el prompt de msdos. El más habitual es $p$g que corresponde a
$p = mostrar trayecto actual
$g = mostrar el separador >
$l = mostrar el separador <
$b = mostrar el separador |
$q = mostrar el signo =
$$ = mostrar el signo $
$t = mostrar la hora
$d = mostrar la fecha
$v = mostrar la versión del sistema
$n = mostrar unidad actual
$h = retroceso. Borra el caracter previo
$e = esc. Muestra el signo correspondiente al asci 27
$_ = Retorno de carro y salto de línea (equivale a chr(10) & chr(13)

Por eso si ponemos prompt $p$g el cursor muestra la trayectoria donde estamos y luego el separador. Es posible añadir texto (por ejemplo prompt Mi_nombre $p$g

DATE
Ver/poner la fecha del sistema
TIME
Ver/poner la hora del sistema
VER
Versión del sistema
VOL unidad
Volumen de la unidad especificada
PATH
Indica un trayecto por defecto si se produce una petición de un archivo que no está en el directorio actual.
Por eso en windows 98 suele haber una línea en autoexec.bat que es
path c:\windows; c:\windows\command
que indica que si se solicita un ejecutable que no esté en el directorio actual, lo busque primero en la carpeta windows y luego en la subcarpeta command.

KEYB código_pais,juego_de_caracteres,definición_de_teclado,
El código de país de españa es el 'sp'
El juego de caracteres aplicable a españa es el 850 ó 437
El archivo de definición de teclado es keyboard.sys
Para configurar un teclado en español
keyb sp,,c:\windows\command\keyboard.sys

SYS unidad
Transferir el sistema operativo a la unidad especificada.

DOSKEY
Emular la capacidad de unix/linux de recordar los comandos introducidos anteriormente mediante la flecha arriba del teclado.

MEM parámetros
Muestra la memoria usada y libre en el sistema
/p -> muestra por programas
/d -> por programas y controladores
/c -> clasifica por tamaño

Comandos de manejo de archivos
COPY origen destino
Sirve para copiar archivos de un lugar a otro. el origen debe ser un trayecto completo de donde están los archivos a copiar. Si se omite se entiende que en el directorio actual.
El destino debe ser una trayectoria completa de donde dejar el/los archivo(s)
copy miarchivo.txt c:\ (copiarlo al directorio raíz de C)
copy miarchivo.txt c:\miarch.txt (copiarlo y además cambiarle el nombre a miarch.txt)
copy *.txt a:\ (copiar todos los archivos que tengan la extensión txt a la unidad A)
copy *.txt c:\misdoc~1 (copiar todos los archivos que tengan la extensión txt al directorio Mis documentos (cuyo nombre corto es misdoc~1).

DEL archivo(s)
Borrar archivos en seleccionados
del leeme.txt (borra el archivo leeme.txt en el directorio actual)
del c:\leeme.txt (borra el archivo leeme.txt que se encuentra en c:\)
del archiv~1\*.* (borra todos los archivos que se encuentren en el directorio 'Archivos de programa' cuyo nombre corto es archiv~1 (no se borran las subcarpetas)

DELTREE archivo(s) -y
Borra el arbol especificado (si es un archivo pues el archivo, si es una carpeta pues la carpeta con todas las subcarpetas que incluya).
Con el parámetro -y no pregunta cada vez
Este comando en realidad no es un comando sino una utilidad incluída en msdos.

MKDIR nombre (o bien MD nombre)
Sirve para crear un directorio
Md micarpeta

CHDIR nombre (o bien CD nombre)
Sirve para ir al directorio aludido. Se le tiene que dar la trayectoria completa o si no intentará desplazarse desde el directorio actual.
Cd c:\archiv~1 (se va a archivos de programa)
Cd .. (se va al directorio superior)

RMDIR nombre (o bien MD nombre)
Borra un directorio. Este debe estar vacío.
RD c:\Misdoc~1 (borra Mis Documentos, aunque no podrá porque no está vacío).

DIR trayecto
Saca una lista del contenido del directorio especificado en el trayecto. Si no se especifica nada, se entiende el actual.
Si se pone como parámetro /W saca un listado resumido.
Si se pone como parámetro /P saca un listado utilizando el filtro more.

ATTRIB archivo(s)-> Muestra los atributos de los archivos indicados y en su caso permite cambiarlos.
Los atributos son:
H -> oculto. Se activa con +h y desactiva con -h
R -> Lectura. Solo lectura con +r, normal con -r
S -> Sistema. Se activa con +s y desactiva con -s
A -> Modificado. Para copias de seguridad incrementales. +a indica modificado y -a indica no modificado.
Attrib miarchivo.txt (mostrar los atributos de miarchivo.txt)
attrib *.exe +r +r +s (pone a todos los archivos con extensión exe como ocultos, del sistema y read only)

RENAME o REN nombre1 nombre2
Cambiar el nombre de archivo
Ren miarchivo.txt miarchivo2.txt

TYPE archivo
Muestra por pantalla el contenido de un archivo
type miarchivo.txt

Comandos de disco
DISCKCOPY origen destino-> Copia disquetes completos.
Diskcopy a: a: Copia el disquete introducido en la unidad A a un disquete que se introducirá posteriormente en la unidad A

FDISK
Permite editar las particiones del disco duro.
Con la opción /mbr permite borrar el Master Boot Record

FORMAT unidad parámetros
/q -> formateo rápido
/s -> Transferir el sistema operativo
Format a: /s formatea el disquete y le transfiere el sistema operativo básico de arranque.

LABEL unidad etiqueta
Cambiar la etiqueta de volumen del disco de la unidad
label a: midisquete

MSCDEX
Montar una unidad de CdRom en msdos (solo requerido si se carga msdos sin estar windows cargado previamente (por ejemplo cuando se arranca desde disquete).
Suponiendo un CdRom al que se haya cargado en config.sys con el nombre MiCd
mscdex /d:MiCd

Scandisk unidad parámetros
Para comprobar/reparar el estado del disco
/autofix -> reparar automáticamente errores
/surface -> hacer pruebas de superficie
/checkonly -> no reparar, solo chequear

Comandos para programación
EDIT archivo
Editor de textos utilizado para editar scripts y archivos de texto.

DEBUG archivo parámetros de archivo
Inicia el desensamblador con el programa indicado al que se le pasan los parámetros especificados.

CHOICEtexto opciones
Se utiliza en programas bat para dar a elegir a un usuario entre un conjunto de opciones
La respuesta se devuelve mediante la variable errorlevel
choice Elija una opción snc
if errorlevel 1 goto ...
if errorlevel 2 goto ...
if errorlevel 3 goto ...
Este ejemplo muestra el literal "elija una opción y da a elegir s (sí), n (no) o C (continuar) por ejemplo
las tres siguientes líneas especifican a donde debe saltar el flujo del programa según la tecla pulsada.

Comandos de red
ARP parámetros
Modificar la tabla arp.
-a -> mostrar la tabla arp
-s ip mac -> agregar una entrada a la tabla arp

FTP
Iniciar el cliente ftp

IPCONFIG parámetros
Mostrar las características de configuración de IP
/all -> muestra toda la información de configuración
/release adaptador -> libera la ip del adaptador especificado
/renew adaptador -> renueva la ip para el adaptador especificado
/flushdns -> purga la caché de resolución de dns
/registerdns -> actualiza las conexiones dhcp y vuelve a registrar los nombres dns
/displaydns -> muestra el contenido de la cache de resolución dns

NBTSTAT
Hace un estado de la red por netbios
Tiene muchos parámetros. Consultarlos mediante nbtstat /?

NET parámetros
Comando para el uso de redes netbios
USE \\equipo\recurso -> para acceder a unidades lógicas compartidas. Se le asignará un nombre de unidad y estará disponible como una unidad mas del sistema.
USE \USER: dominio\usuario para acceder a un dominio
USE unidad /DELETE eliminar el acceso a unidad compartida.
SHARE trayecto /REMARK texto -> para compartir un recurso en red
START -> para comenzar sesión netbios
STOP -> para detener netbios

NETSTAT
Para ver el estado de la red.
-a -> mostrar todos los puertos y conexiones
-n -> mostrar números de puertos y direcciones
-r -> mostrar la tabla de rutas
-s -> mostrar estadísticas por protocolo
-p protocolo-> protocolo puede ser tcp o udp. muestra las conexiones activas

NSLOOKUP dominio
Muestra el dominio, su ip, dns donde se resuelve y sus alias

PING
Utilizar ICMP para llegar a un determinado nodo

TELNET ip puerto
Utilizar el protocolo telnet para acceso a un servidor exterior

TRACERT destino
tracear el camino hasta llegar al destino especificado

Programación BAT
Para crear un script bat podemos utilizar cualquiera de los métodos expuestos anteriores y utilizar cualquiera de los comandos especificados.

Pueden recibir parámetros según los cuales realizar operaciones u otras.

Un caso especial es el archivo autoexec.bat que se ejecuta automáticamente en windows 98 y anteriores. debe estar en el directorio raíz.

********************************************
Ejemplo 1
Archivo bat crea un disquete de arranque en la unidad A con cdrom montado y teclado en español.

echo off
rem **** esto es un comentario
rem **** formatear disquete y pasarle el sistema
format a: /s
rem **** copiar archivos necesarios para teclado en español
copy c:\windows\command\keyboard.sys a:
copy c:\windows\command\keyb.com a:
rem **** copiar archivos necesarios para montar el cdrom
copy c:\windows\command\mscdex.exe
rem aquí hay que copiar el driver dos del cdrom que
rem viene con el disquete que lo acompaña.
rem copiar otras utilidades prácticas para un disco de inicio
copy c:\windows\command\fdisk.exe a:
copy c:\windows\command\format.exe a:
copy c:\windows\command\deltree.exe a:

rem crear el archivo de inicio autoexec.bat en disquete
echo keyb sp,,keyboard.sys >a:autoexec.bat
echo path c:\windows;c:\windows\command;a:\ >>a:autoexec.bat
echo mscdex /d:MiCdrom >>a:autoexec.bat

rem crear el archivo de configuración para montar el driver del cdrom
echo dos=high,umb >a:config.sys
echo device=a:\nombre_del_driver.sys /d:MiCdRom >>a:config.sys

echo **************************************
echo El disco de arranque ha sido creado
echo **************************************

*******************************************
Ejemplo 2
En el caso anterior he puesto la ruta de origen c:\windows\command que es donde se encuentra en windows 98. Sin embargo en Win2k se encuentra en \winnt\win32 por lo que en caso de win2k deberíamos cambiar eso.
Win2k tampoco usa autoexec.bat por lo que para no perderme en diferencias entre uno y otro voy a suponer que en vez de c:\windows\command quiero que el origen sea variable

echo off
rem si no se da parámetro terminar
if %1z = z goto fin
rem **** esto es un comentario
rem **** formatear disquete y pasarle el sistema
format a: /s
rem **** copiar archivos necesarios para teclado en español
copy %1\keyboard.sys a:
copy %1\keyb.com a:
rem **** copiar archivos necesarios para montar el cdrom
copy %1\mscdex.exe
rem copiar utilidades
copy %1\fdisk.exe a:
copy %1\format.exe a:
copy %1\deltree.exe a:
fin:

para ejecutar este script deberíamos darle un parámetro que será el origen de los archivos. En el caso anterior esto era c:\windows\command. En el caso de Win2k esto es c:\winnt\win32

Miprograma c:\windows\command (para utilizar esta ruta como ruta origen)
Miprograma c:\winnt\win32 (para utilizar esta otra ruta como ruta origen)

********************************************
Ejemplo 3
********************************************
Creación de un archivo para consultas habituales sobre la red

echo off
echo 1 -> examinar netbios
echo 2 -> examinar la red
echo 3 -> examinar dominio
echo 4 -> examinar la tabla de arp
echo 5 -> Acceder a unidad lógica
echo 6 -> Compartir unidad lógica
echo 7 -> Acceder a un dominio
echo pulse una tecla del 1 al 6 para elegir
choice 123456
if errorlevel 1 goto netbios
if errorlevel 2 goto red
if errorlevel 3 goto dominio
if errorlevel 4 goto arp
if errorlevel 5 goto acceder
if errorlevel 6 goto compartir
if errorlevel 7 goto accesodominio
goto fin

netbios:
nbtstat -na
goto fin

red:
netstat -na
goto fin

dominio:
rem %1 es un parámetro del dominio a consultar
nslookup %1
goto fin

arp:
arp -a
goto fin

acceder:
rem %1 es un parámetro de la unidad a acceder. Debe
rem ser del tipo \\ordenador\recurso
net use %1
net start
goto fin

compartir:
rem %1 es el directorio a compartir. Debe ser algo como
rem c:\misdoc~1
rem %2 es el texto que queremos que tenga como nombre largo en windows
net share %1 remark %2
net start
goto fin

accesodominio:
rem %1 es el dominio al que queremos acceder
rem %2 es el usuario al que queremos introducir
net use user %1\%2
net start

fin:

Efectos javascript para tu web 2.0

0 comentarios
Bueno hoy pongo una compilación de librerías JS para dar ese preciado efecto 2.0 a tus páginas web, fáciles de implementar, ligeras, y sobre todo bonitas

Greybox: La muerte de los pop ups, y la bienvenida al pop-up 2.0, todo en la misma ventana sin perder nunca la navegación. Además nos sirve para mostrar imágenes a pantalla completa, ¡una maravilla!

Prototype Window: Crea ventanas tipo windows dentro de tu navegador con una facilidad increíble y funcionando perfecto ¡con muchísima fluidez!

curvyCorners es una librería hecha en Javascript con el cual podemos darle bordes redondeados a cualquier div de nuestro HTML. Se puede personalizar el tamaño de los border e incluso asignarle anti-alias.

Efectos sobre imágenes: con estas librerías añadirás efectos de todo tipo a tus imágenes como reflejos, bordes,esquinas redondeadas…una virguería

Light Box 2: Mostrar imágenes a pantalla completa nunca fue tan fácil! totalmente customizable, una maravilla

fValidator es una librería que nos permite hacer validaciones en campos de formulario sin tener que añadir eventos a los mismos o capas vacías para mostrar los errores. Simplemente se lo indicamos mediante una clase tipo css.

JsCalendar sin duda, el mejor calendario para una web…he probado de todo tipo, este es rápido fácil de usar, totalmente customizable, por css, en todos los idiomas…multitud de opciones…¡¡a que esperas!!

FrameWorks:

Simple JS: Para mí la mejor librería de Ajax que existe, súper ligera, cross-browser, súper fácil de usar, y con efectos muy conseguidos y preciosos, indispensable para mí.

MooTools es un Framework, compacto modular, orientado a objetos, diseñado para el programador medio-avanzado, que nos proporciona una herramienta potente flexible, y cross-browser. Bien docuemtnado y con api. No lo uso pero es muy famoso.

Script.aculo.us son unas librerías JavaScript que nos proporciona una herramienta fácil de usar, cross-browser, para hacer páginas webs al momento. ¡¡Una pasada!!

Libros para el Desarrollo Web

0 comentarios
Les dejo 3 libros muy buenos e importantes para todos los desarrolladores web

Javascript Bible 5th Edition




Web Standards Solutions - The Markup and Style Handbook




The Zen Of Css Design Visual Enlightenment For The Web




Descarga:
http://rapidshare.com/files/21927626/libros-para-desarrollo-web.zip.html


P/D: Ranita de m**rda en avatar!!

AppRecon 1.0.5

0 comentarios
Descripción: Herramienta de reconocimiento remoto de aplicaciones, útil para la realización de auditorías.

http://www.baxware.com/download.php?f=apprecon_bin_1_0_5.zip

AckCmd 1.1

0 comentarios
Descripción: Aplicación cliente-servidor que te permite abrir remotamente una consola de comandos en otro sistema, comunicándose sólo con segmentos TCP ACK (evitando en algunos casos protecciones de cortafuegos).

http://www.baxware.com/download.php?f=ackcmd.zip

Jbrofuzz 0.5

0 comentarios
Descripción: Herramienta para realizar tests de intrusión para windows. Original y efectiva.

http://www.baxware.com/download.php?f=jbrofuzz-win32-05.zip

Weak Service Restrictions

0 comentarios
Descripción: Exploit de escalada de privilegios para redes Windows usando Weak Service Restrictions

http://www.baxware.com/download.php?f=srvcheck2.zip

PwDump2

0 comentarios
Descripción: Herramienta fundamental en la seguridad de redes windows que permite extraer los LM Hashes encriptados para crackearlos y obtener las contraseñas de los usuarios de Windows. Funciona en línea de comandos y permite extraer estos hashes de forma remota (con el password de administrador). Versión antigua, aunque es la más utilizada de los últimos años.

http://www.baxware.com/download.php?f=pwdump2.zip

STunnel 4.20

0 comentarios
Descripción: Programa que permite encriptar conexiones TCP arbitrarias dentro de SSL. (Binario de Windows)

http://www.baxware.com/download.php?f=stunnel-4.20-installer.exe

TCP View

0 comentarios
Descripción: Utilidad gratuita, rápida y transparente que monitoriza todas las conexiones de tu pc. Te permite ver si tu ordenador está realizando comunicaciones con fines malignos.

http://www.baxware.com/download.php?f=tcpview.zip

SQL Ninja 0.1.1

0 comentarios
Descripción: Herramienta que explota inyecciones SQL con el objetivo de obtener una shell remota en el servidor de bases de datos vulnerable. Funciona con Microsoft SQL como back-end.

http://www.baxware.com/download.php?f=sqlninja-0.1.1.tgz

Steganopic 0.1

0 comentarios
Descripción: Programa de esteganografía, que esconde textos en imágenes, sin cambiar su aparencia. Soporta solamente el formato GIF.

http://www.baxware.com/download.php?f=steganopic-0.1-win32.exe
Powered by Bad Robot
Helped by Blackubay