Mostrando entradas con la etiqueta Tips. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tips. Mostrar todas las entradas
Tips: Montar carpeta compartida VirtualBox en Guests debian y derivados
Hoy me topé con un problema extraño, pero que por lo que encontré googleando, es común. Hasta ahora no se me había dado por montar shares en una máquina virtual debian (virtualizada usando VirtualBox), así que no me había pasado. Usando guests Windows siempre me funcionó correctamente.
Dado que requiere algunos pasos, decidí armar un mini instructivo de cómo hacerlo, ya que seguramente alguien más se encuentre con el mismo problema. Veamos los pasos:

Como todo manual de VBox indica, primero hay que instalar las Guest Additions antes de poder compartir carpetas entre el host y el guest. Previo a esto, hay que contar con los headers del kernel (paquete linux-headers-), y make. Una vez que cuentan con estos paquetes (make instala los compiladores y demás), realizar lo siguiente:
  1. Ir a la ventana de la máquina virtual, elegir la opción "Dispositivos" -> Insertar imagen de CD de las «Guest Additions»". Esto habilitará la imagen en la lectora virtual del guest.
  2. Montar el cd virtual ejecutando: mount /dev/cdrom -o exec
  3. Ejecutar el script correspondiente a Linux:  /media/cdrom/VBoxLinuxAdditions.run
Con lo anterior debería bastar para montar los shares según el manual oficial, ejecutando:
mount -t vboxsf share /lugar-a-montar
Sin embargo esto no es así en debian (y derivados también, no se en otras distros), al menos al utilizar VBox 4.3.10. Por alguna razón cambiaron de lugar el path donde se instalan las Guest Additions, o bien apuntaron mal el enlace de mount.vboxsf... sea cual sea la razón, al intentar montar una partición, mount dará error y syslog dirá:
sf_read_super_aux err=-22
Para evitar esto, tenemos dos alternativas:
1. Linkear el directorio desde donde debería estar a donde realmente está:
ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/
2. O linkear el ejecutable mount.vboxsf a donde está el ejecutable realmente:
rm /sbin/mount.vboxsf
ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
Bien, esto debería alcanzar... salvo en algunos casos. Increíblemente si dejamos el mismo nombre de share que el del directorio al que apunta el share (por ejemplo usar el share "datos" para apuntar al directorio /datos), mount fallará horriblemente diciendo:
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
Mientras que syslog indicará lo siguiente:
sf_read_super_aux err=-71
WTF?! si, increíble. Así que recuerden llamar distinto al share que a la carpeta a la que apunta. Por ejemplo, ponerle vdatos al share que apunta a /datos en el host (siguiendo el ejemplo anterior).

Ahora si, a montar felizmente (?!).


Referencias

Shared folders will not mount after 3.10 update
Mounting share directory on Linux host result in Protocol error if default share name is used
Tips (PHP): Escribir en la sesión de otro usuario
Mientras desarrollaba una nueva funcionalidad para el framework PHP en el que estoy trabajando, me encontré con la necesidad de realizar una acción no muy común: escribir valores en la sesión de otro usuario.

Como todo desarrollador PHP sabe (o debería...), es posible almacenar valores que persisten entre requests en una misma sesión, utilizando el arreglo súper global $_SESSION. Cada sesión se asocia a un usuario, por lo que los valores almacenados para un dado usuario son accesibles sólo para él. Ahora, y si desde la sesión de un usuario, deseamos acceder valores de la sesión de otro usuario?
Muchos se preguntarán, para qué querría hacer esto? Bueno, en mi caso particular me sirvió para actualizar la configuración de un usuario desde un usuario administrador, sin la necesidad que el primero se loguee nuevamente para ver los cambios. Por ejemplo, si un usuario administrador A cambia el theme de un usuario B que ya está logueado, quiero que B vea los cambios al instante. Podría hacer esto mismo almacenando un valor en la base de datos y chequeando desde la sesión de B el registro en cada acceso, pero esto me pareció muy ineficiente. Mi solución fue escribir un flag en el arreglo de sesión de B, y luego desde B chequear el valor en el arreglo para ver si hay cambios.
Como me resultó una funcionalidad interesante, decidí compartirla.

Para que el siguiente código funcione, es necesario almacenar los IDs de sesión de cada usuario logueado. Lo pueden hacer guardando los IDs en una tabla cada vez que un usuario se loguea en el sistema. Asumo que la función "get_user_session_id($user)" ya está implementada y me permite obtener el ID del usuario que le envío por parámetro; cada uno verá como almacenar y obtener el ID.
Traté de dejar el código lo más genérico posible, con lo que deberán cambiar sólo la línea que asigna el valor en la sesión del otro usuario, la cual marqué con el comentario "CAMBIAR AQUI!".
Espero que les resulte útil!

//guardar el session id actual para poder restaurarlo luego
$current_id = session_id();

if(($sid = user_get_session_id($user)) === FALSE)
{
  throw new Exception("user ID not found");
}

//guardar los valores de la sessión actual antes de cambiar de sessión
session_write_close();

//abrir la sessión del otro usuario
session_id($sid);
session_start();

//almacenar el valor deseado en la sessión del otro usuario
$_SESSION['some_value'] = $value;   // CAMBIAR AQUI!

//guardar los cambios hechos en la sessión del otro usuario
session_write_close();

//volver a la sessión del usuario actual
session_id($current_id);
session_start();
Tips: recibir mensajes SMS online
Desde hace tiempo, la mayoría de los sites requieren una dirección de email válida para poder registrar un usuario, a la cual envían un código de confirmación para terminar la validación. Si bien esto sigue siendo igual en la mayoría de los casos, cada vez más sitios empiezan a requerir algo más... un número de celular. Estos sites envían al número ingresado un código de confirmación, el cual hay que ingresar para validar al usuario.
En diferentes sites el número de celular es opcional y permite autenticación de dos vías, lo cual refuerza el sistema de autenticación, pero en otros es mandatorio colocar el número.

Los paranoicos como yo (o los usuarios que todavía desean poseer un mínimo de privacidad), no deseamos colocar el condenado número para que después la página pueda, como mínimo, enviarnos SPAM. Por ello me puse a buscar alguna alternativa que me permita recibir mensajes en un número online. Así fue como llegué al excelente artículo How to receive SMS online to bypass SMS verification? 
El artículo resume cuáles páginas permiten la recepción de SMSs online. Las mismas proveen una serie de números, controlados por ellos, los cuales están aptos para recibir SMSs internacionales. Cuando se recibe un mensaje, el mismo es agregado en la web para que pueda ser leído.
Las alternativas más simples de utilizar (digo simples porque no necesitan creación de usuario) son Receive-SMS-Online y ReceiveSMSOnline. De estas, la que a mi me funcionó es la primera, utilizando los números de Noruega. En el resto de los números no pude recibir mensajes. La ventaja adicional de la primera es que separa los SMS recibidos en cada número en páginas diferentes.
La tercer página citada en el artículo es Pinger, la cual pintaba bien en su descripción, pero tampoco pude recibir mensajes. La cuarta requiere justamente lo que no quería originalmente, un número de celular. No se por qué el autor colocó ésta en la lista, siendo que no es la idea del artículo. La última citada es para recibir faxes y mensajes de voz, ya alejandose de los SMS, así que no la probé.

Adicionalmente a las del articulo, encontré Receive-SMS, similar a ReceiveSMSOnline en la cual se muestran los mensajes de todos los números en una misma págna.

Estas páginas son de mucha utilidad, pero no siempre servirán, dado que los sites no son tontos (bueno, no todos) y muchos controlan los números de cel que ya validaron códigos y no permiten que sean utilizados nuevamente.

Me pareció interesante listar estas páginas porque, si bien existen cientos de páginas para el envío de mensajes online, no existen muchas para recibirlos.
Tips Slackware 13.1

Por qué elegí Slackware?

Luego de haber utilizado Ubuntu por 4 años finalmente me decidí por instalar una distribución GNU/Linux más estable y "espartana" (como diría un profe de la Universidad Nacional del Sur), aunque tuviera que resignar facilidad de uso y mantenimiento. No tengo nada en contra de Ubuntu, creo que es una distribución formidable, muy pero muy fácil de utilizar. Es más, creo firmemente que es mucho más fácil de utilizar que cualquier Windows. A cualquier persona que utiliza una computadora por primera vez le daría una distro basada en Ubuntu por su simplicidad. Pero esta facilidad de uso es lo que me "aburrió", todo es muy fácil y se pierde mucho control sobre lo que el sistema operativo hace (y se pierden muchas oportunidades para comprender y aprender como funciona el sistema operativo). Siempre me divertí más poniéndome el overol que haciendo un "apt-get install ...".
Respecto a la estabilidad, investigando durante mucho tiempo en foros y páginas de Internet descubrí que Slackware es considerada "la distribución de GNU/Linux más estable" y supuse que el mundo no debe estar equivocado por ser la distribución de GNU/Linux más antigua aún con vida.

Un poco de historia...

Mis primeras armas con GNU/Linux las hice utilizando una distro más que "espartana": DSL (abreviatura de Damn Small Linux). Por esa época utilizaba DSL versión 3.4 con un kernel Linux 2.4.26 y corría en un procesador AMD K6 II de 450 MHz (un sólo núcleo obviamente jeje) con unos increíbles 64 MB de memoria RAM. Esta distro ultra liviana, basada en Knoppix, no tenía manejador de paquetes, utilizaba el manejador de ventanas fluxbox, y tanto su "instalación" (estaba pensada para funcionar como live CD, no se recomendaba la instalación) como uso era para usuarios intrépidos. Aunque... si tienen un cacharro viejo tirado en la pieza pónganle un DSL y devuélvanlo a sus años dorados.
Abandoné DSL el día que compré mi máquina de escritorio actual y decidí pasarme a una distribución más moderna, en ese momento Ubuntu 6.04.

Instalando Slackware 13.1

Recuerdo cuando le comenté a demasiadovivo:
- Voy a instalar Slackware en mi PC.
A lo que él respondió:
- ¿Tenés ganas de meterte en problemas?
Durante un momento me acobardé un poco pero me mantuve firme en mi decisión y un sábado a las 2 de la mañana, luego de cumplir con mis obligaciones, instalé Slackware 13.1. Esta versión viene con el kernel de Linux 2.6.33.4, Xfce 4.6.1, KDE 4.4.3, muchas herramientas de desarrollo (Perl, Python, Ruby, Subversion, KDeveloper, etc.), una variedad de Web browsers (Konqueror, SeaMonkey, Firefox) y una colección de aplicaciones basadas en GTK+ (Pidgin, GIMP, GXine, XChat, etc.) entre lo más destacado. Información más detallada en http://www.slackware.org/announce/13.1.php.
La instalación es muy sencilla, la parte más complicada para un usuario inexperto es el particionamiento de los discos utilizando 'cfdisk', pero para aquellos dinosaurios como yo que instalaron Windows 98 una gran cantidad de veces y particionaban sus discos con 'fdisk'... es pan comido. Si tuvieron la oportunidad de instalar FreeBSD se darán cuenta que el instalador es muy similar, también el manejador de paquetes 'pkgtool' el cual utiliza archivos comprimidos tar. Una limitación que tiene el manejador de paquetes es que no resuelve dependencias, como lo hacen otros manejadores de paquetes (por ejemplo aptitude). Pueden encontrar ayuda oficial para instalar Slackware 13.1 en http://www.slackware.org/install/.

Veamos la instalación paso por paso:

1. Primero tenemos que conseguir un DVD de Slackware, bueno esto es fácil, ingresamos en http://www.slackware.org/getslack/torrents.php y descargamos el torrent de la imagen del DVD (es más practico que 6 CDs) y lo descargamos con nuestro cliente bit-torrent favorito (en mi caso fue transmission). Luego de quemar el DVD booteamos desde la unidad lectora de discos. Ingresamos al sistema como usuario 'root' (sin contraseña).

2. Esta es la parte más compleja de la instalación: crear las particiones. Para hacerlo de la forma más sencilla posible vamos a crear dos particiones: una partición para memoria swap (aproximadamente el doble del tamaño de la memoria RAM para la mayoría de los sistemas) y otra partición para el resto del sistema. Lo ideal es crear particiones separadas para los directorios /boot y /var (y posiblemente también una para /etc). No voy a explicar cómo utilizar 'cfdisk' porque sería muy extenso, pero pueden encontrar una guía en español en http://manual.sidux.com/es/part-cfdisk-es.htm.

3. Teniendo nuestras particiones, ejecutamos el comando 'setup'. Esto inicia el proceso de instalación interactivo que contiene las siguientes etapas: HELP, KEYMAP, ADDSWAP, TARGET, SOURCE, SELECT, INSTALL, CONFIGURE, PKGTOOL, EXIT.

  • KEYMAP: Nos permite elegir el mapa de teclado adecuado (en mi caso qwerty/es).

  • ADDSWAP: Indicamos que partición se utiliza como memoria de intercambio (el proceso es automático).

  • TARGET: Seleccionamos la partición donde instalar el sistema y formateamos con ext4.

  • SOURCE: Detecta el origen de la instalación (en este caso el DVD).

  • SELECT: Seleccionamos el software para instalar, debemos seleccionar todos (KDEI para instalar otros idiomas en KDE, lo que incluye el idioma español).

  • INSTALL: Instalamos seleccionando 'full'. Seleccionamos la instalación de lilo automática, el framebuffer de lilo 'auto' y el destino 'MBR'.

  • Se puede encontrar una guía detallada de la instalación en http://troesma.wordpress.com/2010/05/28/como-se-debe-instalar-slackware/.
Una vez finalizada la instalación reiniciamos la PC y nos topamos con lilo, el cual detectó automáticamente durante la instalación otros sistemas operativos instalados, e iniciamos Slackware. Nos logueamos como 'root' e iniciamos KDE mediante el comando 'startx'. Ya tenemos el sistema funcionando!
Lo que sigue a continuación es una lista de tips post-instalación que fui realizando para "tunear" el sistema de acuerdo a mis necesidades. Son configuraciones simples pero que, una vez hechas, me es imposible recordar cómo las hice, por eso decidí anotarlas y eso me motivó a escribir este artículo.

Agregar un nuevo usuario

Por razones de seguridad, no es conveniente correr el sistema como usuario 'root', por lo tanto lo primero que deberíamos hacer es crear un nuevo usuario. La forma más sencilla es utilizar el manejador de usuarios de KDE (también se puede utilizar el comando 'useradd', ver manual). Iniciamos KUser desde "K > Applications > System > User Manager". Luego utilizamos el botón 'Add', el resto es fácil. Una vez creado el nuevo usuario debemos agregarlo al archivo 'sudoers' para que pueda utilizar el comando 'sudo' y realice tareas de administración. Si no se desea que el usuario pueda utilizar 'sudo' se debe omitir este paso.
Otorgar 'sudo' al nuevo usuario 'emi':
    # visudo

    [Insert]
    emi ALL=(ALL) ALL

    [Esc]
    :wq
Si otorgamos 'sudo' es conveniente agregar las rutas '/usr/local/sbin', '/usr/sbin' y '/sbin' a la variable de entorno $PATH, para que bash encuentre los ejecutables de administración del sistema (por ejemplo 'cfdisk', 'dhclient', 'fsck', 'halt', 'ifconfig', 'ip', 'lilo', 'mkfs', 'mount', 'poweroff', 'reboot', 'umount', etc.):

1- Crear el archivo '.profile' en el directorio $HOME
2- Agregar los directorios a la variable $PATH:
    PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH

Cambiar locale

Para que se visualicen correctamente los acentos y 'ñ' en los nombres de archivo debemos cambiar el 'locale' que es el conjunto de reglas de lenguaje y culturales que se aplica en el sistema. Esto incluye el conjunto de caracteres. Para esto editamos el archivo '/etc/profile.d/lang.sh' de la siguiente forma:

Comentar la línea:
#export LANG=en_US

Descomentar la línea:
export LANG=en_US.UTF-8

Deshabilitar servidor Akonadi:

Akonadi es un servicio de manejo de información personal (PIM) incluido en KDE 4. Administra información como contactos de correo electrónico, notas, alarmas, etc. de forma centralizada en una base de datos MySQL. Este servicio puede consumir recursos como memoria, espacio en disco y CPU. Para mejorar el desempeño de KDE en general decidí deshabilitarlo. Si desinstalamos este paquete, aplicaciones como Kontact, KOrganizer, KMail, etc. dejan de funcionar. Por lo tanto no se debe desinstalar, para resolver esto debemos seleccionar nuevos recursos de almacenamiento de datos de KDE desde "K > System Settings > Advanced > KDE Resources". Por ejemplo se pueden utilizar archivos locales para almacenar datos de contactos. Para más información sobre Akonadi leer http://techbase.kde.org/Projects/PIM/Akonadi#Akonadi_FAQ.

Instalar paquetes

Slackbuilds.org es un repositorio de paquetes que no vienen incluidos en la versión oficial de Slackware. A pesar de no ser oficiales, son referenciados en el sitio oficial de Slackware ya que varios desarrolladores de Slackware también desarrollan scripts para slackbuilds.org. Cabe recordar que Slackware trabaja con paquetes tar comprimidos, por lo tanto en el sitio slackbuilds.org proveen scripts que crean los paquetes tar comprimidos a partir del código fuente del paquete que se desea instalar. Por lo tanto, si deseamos instalar un paquete que no está incluido en la versión oficial de Slackware debemos seguir los siguientes pasos (voy a utilizar OpenOffice.org como ejemplo):
    1. Buscar el script en slackbuilds.org, en este caso "openoffice".
    2. Descargar código fuente del paquete desde el sitio oficial del mismo (en la misma página de slackbuilds.org donde descargamos el script hay un link al fuente del paquete).
    3. Extraer el tarball descargado desde slackbuilds.org y editar el archivo .info si no coincide la versión del fuente descargado.
    4. Colocar el fuente (generalmente un .tar.gz) en la carpeta donde se encuentra el script .Slackbuild. Luego ejecutar el script, el mismo crea el paquete a partir del código fuente.
    5. Instalar el paquete creado en el directorio /tmp utilizando el comando 'installpkg'.
    6. Disfrutar! No es tan complicado como parece.

Personalizar lilo (bootloader)

Si deseamos personalizar lilo, por ejemplo cambiar el timeout, el orden de aparición de los OS o el bitmap, debemos:

1- Editar el archivo /etc/lilo.conf
2- Luego ejecutar lilo para que tome la nueva configuración:
    lilo -C /etc/lilo.conf

Instalar NVIDIA video driver

Para aquellos dueños de placas de video NVIDIA, los pasos son idénticos que para otra distro:
    1- Descargar driver desde www.nvidia.com
    2- Cerrar X (Logout desde KDE)
    3- chmod u+x NVIDIA.run
    4- sh NVIDIA.run
    5- startx
    6- K > Applications > Settings > NVIDIA X Server Settings
    7- Disfrutar!

Instalar mod_perl

Esto tuve que hacerlo para ejecutar Perl en modo cgi (o sea, servir páginas Web escritas en Perl):
    1- Instalar mod_perl utilizando el script de slackbuilds.org.
    2- Editar /etc/httpd/mod_perl.conf si es necesario.
    3- Agregar la siguiente línea en el archivo /etc/httpd/httpd.conf:
      Include /etc/httpd/mod_perl.conf

Iniciar firewall automáticamente

Slackware no utiliza "/etc/init.d/" sino que utiliza "/etc/rc.d/" para cargar demonios automáticamente. En mi caso necesito levantar mi firewall escrito con 'iptables' automáticamente cada vez que inicia el sistema. Para esto:

1- Crear bash script con las reglas de iptables
2- Crear un link simbólico al script en la carpeta /etc/rc.d/:
    ln -s /home/emi/firewall.sh /etc/rc.d/rc.firewall
Ojo con los permisos del archivo firewall.sh! El dueño debe ser 'root' y ni el grupo ni los otros deben tener permisos de lectura/escritura

Agregar etiqueta a una partición (sin formatear)

Acá fue cuando hice macanas, quería asignarle una etiqueta a una partición ext4 y (por no leer el manual completo) utilicé el comando 'mke2fs' con la opción -L lo cual borró la tabla de inodos perdiendo el contenido completo de la partición (como si hubiera formateado una partición NTFS). Afortunadamente, pude recuperar la información utilizando 'e2fsck' y aprendí a asignar una etiqueta sin formatear la partición utilizando el comando:
e2label /dev/sdb4 etiqueta

Personalizar atajos de teclado (multimedia)

Si tenemos un teclado con botones adicionales y queremos cambiar su comportamiento, podemos hacerlo desde:

K > Computer > System Settings > Keyboard & Mouse > Standard Keyboard Shortcuts

Instalar corrección ortográfica (aspell-es)

Para poder corregir la ortografía en idioma español es necesario instalar el diccionario español de GNU Aspell:

1- Descargamos el diccionario español desde: ftp://ftp.gnu.org/gnu/aspell/dict/0index.html.
2- Extraemos el contenido del tarball.
3- Instalamos el diccionario:
    ./configure
    make
    make install

Links

www.damnsmalllinux.org
www.slackbuilds.org
www.slackware.org
www.ubuntu.com
Extensiones para hackear con Firefox
Si hay una herramienta útil a la hora de buscar vulnerabilidades web, esa es Firefox y su montaña de extensiones. La verdad es que no necesito de nada más cuando quiero buscar problemas en una web.

Existen decenas o quizás cientos de extensiones dedicadas a la seguridad, muchas con tremenda funcionalidad. Es por eso que se me ocurrió listar las extensiones que utilizo en mi trabajo diario, así ustedes también pueden aprovecharlas. Si tienen extensiones para recomendar, dejen sus comentarios!

Firebug
Firebug no está precisamente destinada a buscar vulnerabilidades (está destinada a desarrolladores web), pero es una de las herramientas que más utilizo. Esta nos permite ver el código de la página de forma ordenada y rápida (código desplegable). Incluye una función que nos permite hallar el código de cualquier parte de la página con un par de clicks.
Esta herramienta también nos permite ver fácilmente código JavaScript, estilos CSS, además de mostrarnos los errores arrojados por scripts que fallan.
Por otro lado, es posible modificar el código de la página y ver cómo se modifica en tiempo real. Realmente un lujo.

Tamper Data
Otro que uso constantemente. Tamper Data nos permite capturar los parámetros HTTP que se envían desde el browser al servidor y modificarlos antes de ser entregados. De esta forma podemos cambiar cosas como User Agent, Cookies, parámeotros post, Referer, etc, antes de que el browser los envíe al servidor.
Gracias a esto podemos ver distintas reacciones de la página a distintos parámetros.

Hackbar
Esta extensión nos proporciona una barra adicional muy útil a la hora de hacer pruebas. En esta barra contamos con herramientas como generadores de código SQL utilizado en pruebas de hacking, generador de texto codificado con String.fromCharCode, codificador HTML, funciones de hashing como MD5, SHA1, codificadores/decodificadores de base64, URL, Hexa, y algunas cosas más.
Es muy útil porque nos ahorra tiempo de escritura y de búsqueda (muchas veces no me acuerdo como es la sintaxis de una dada función, o cómo se codifica una /).

Groundspeed
Utilísima extensión para realizar inyecciones. Groundspeed permite al usuario ver todos los campos de los formularios presentes en la página, mostrando incluso los hidden, e ingresar cualquier parámetro que desee. Gracias a esto podemos eliminar restricciones de largo de los input, o controles JavaScript, osea, eliminar las limitaciones impuestas por la interfaz presentadas al usuario.



Si bien con esos cuatro suele alcanzarme para todo, también tengo instalados otros bastante interesantes y útiles. Estos son:

Live HTTP Headers
Nos permite ver en tiempo real los headers HTTP que se envían y reciben desde los servidores. Es posible aplicar filtros sobre lo que deseamos visualizar y reenviar pedidos.
No lo utilizo demasiado porque Tamper Data puede hacer esto y más.

SQL Inject Me
Como se imaginarán por el nombre, SQL Inject Me nos permite automatizar las pruebas de SQL Injection sobre una página. Con esta extensión seleccionamos los campos del formulario sobre el que queremos hacer pruebas y el programa envia cientos de combinaciones de inyección posibles. Luego nos devuelve una página mostrando con qué combinaciones se tuvo éxito, cuales arrojaron errores y cuales no sirvieron.
Es muy útil para hacer pruebas rápidas, pero como siempre digo, los test SQL Injection y XSS son casi un arte, las herramientas automatizadas no suelen arrojarme buenos resultados.

XSS Me
El equivalente de SQL Inject Me, pero para hacer pruebas de XSS. Al igual que SQL Inject Me nos permite seleccionar formularios y enviar distintos test para luego arrojarnos una página con información sobre lo encontrado.


Existe un proyecto interesante denominado FireCAT (Firefox Catalog of Auditing exTension) que se encarga de armar un mapa mental con las extensiones conocidas para realizar auditorías de seguridad. La gente de este proyecto provee un gráfico (pdf) con los nombres de las extensiones y su relación con los aspectos de seguridad.

Help Net Security publicó hace un tiempo su top 5 de extensiones de firefox dedicadas a la seguridad, ahí fue que conocí Groundspeed. Si quieren pueden hecharle un vistazo a la lista, aunque no mencionan ninguno que no haya sugerido en este post =)