Variables variables en Bash

Las variables variables se utilizan cuando queremos tener nombres de variables que puedan usarse y modificarse de forma dinámica. PHP permite su uso de forma directa: <?php $a = 'hello'; ?> Una variable variable toma el valor de una variable y lo usa para el nombre de la variable. Podemos utilizar “hello” como nombre de variable utilizando dos signos de dólar: <?php $$a = 'world'; ?> En este punto tenemos dos variables, $a que contiene “hello” y $hello que contiene “world”. Así, las siguientes instrucciones escriben “hello world”: ...

June 29, 2011 · 1 min · 181 palabras · Nacho Cano

Identificando los plugins de WordPress instalados

Hay un script para nmap, http-wp-plugins, que permite detectar los complementos instalados en WordPress. Dicho script intenta acceder a los directorios de los complementos en wp-content/plugins/ con la ayuda de un diccionario. Si la respuesta no es un error 404 interpreta que el directorio, y por tanto el complemento, existe. La lista de complementos para WordPress es extensa, casi 13405 entradas, y podría llevar bastante tiempo analizarlas todas, por lo que las entradas están ordenadas por popularidad y por defecto sólo se escanean las 100 primeras. ...

June 20, 2011 · 5 min · 975 palabras · Nacho Cano

Secuencias de escape en SSH

Secuencias de escape en SSH: user@remotehost:~$ ~? Supported escape sequences: ~. - terminate connection (and any multiplexed sessions) ~B - send a BREAK to the remote system ~C - open a command line ~R - Request rekey (SSH protocol 2 only) ~^Z - suspend ssh ~# - list forwarded connections ~& - background ssh (when waiting for connections to terminate) ~? - this message ~~ - send the escape character by typing it twice (Note that escapes are only recognized immediately after newline.) La primera, ~., se puede utilizar para cerrar la sesión cuando se nos queda colgada, por ejemplo, al reiniciar la máquina remota. ...

June 18, 2011 · 1 min · 201 palabras · Nacho Cano

Yo #soy15m

Como parte del #15m me declaro una persona pacífica y condeno radicalmente todo tipo de violencia: la de los violentos infiltrados en nuestras manifestaciones, y la del Estado, que ha causado más dolor y heridos. Además, condeno la manipulación mediática que enfatiza la información sesgada, parcial o errónea con el propósito de demonizar a los ciudadanos. Si me manifiesto en la calle es porque: -Mi participación como ciudadano se ha reducido a votar a listas cerradas cada cuatro años para ver cómo los representantes de los ciudadanos no respetan lo prometido en su programa. ...

June 18, 2011 · 3 min · 452 palabras · Nacho Cano

Compartiendo una conexión por SSH

A partir de la versión 4 de OpenSSH se pueden compartir las conexiones seguras a un máquina remota, de tal manera que, una vez establecida la primera conexión, el resto de conexiones reutilizan la primera, por lo que el establecimiento de la conexión de éstas será mucho más rápido. Configuración Lo primero es asegurarnos de que existe el directorio ~/.ssh en el cliente, con permisos 700 (sólo accesible por nosotros mismos… y cualquier administrador). ...

June 17, 2011 · 3 min · 448 palabras · Nacho Cano

Conectarse por SSH utilizando expect

expect es un comando que “habla” con otros programas interactivos. Se definen unas reglas en función de lo que esperamos que nos digan esos programas y lo que queremos contestar. Un típico ejemplo es realizar una conexión a un servicio de FTP o SSH, y utilizar expect para que introduzca la contraseña por nosotros y lleve a cabo diferentes acciones. La ventaja que tiene es que podemos automatizar acciones en esos servicios. El gran inconveniente es que, si esos servicios requieren autenticación, deberemos escribir la contraseña, ya sea en un script o directamente en el terminal, pudiendo quedar reflejada en el historial. (Dependiendo de la configuración, si incluimos espacios antes de ejecutar un comando, éste no queda reflejado en el historial). ...

June 17, 2011 · 3 min · 540 palabras · Nacho Cano

Encontrar los dominios que comparten IP con otro dado

Éste es algo viejuno, pero lo no había probado. Se trata del script bing-ip2hosts, que permite encontrar los dominios que comparten IP con un dominio dado utilizando Bing: $ ./bing-ip2hosts -p ubuntu.com http://brainstorm.ubuntu.com http://kubuntu.org http://search.ubuntu.com http://www.ubuntu.com Con el argumento -p se incluye el prefijo http://, lo cual viene bien para poder clicar directamente en el terminal. Este script utiliza el comando resolveip para encontrar la IP del dominio dado: $ resolveip google.com IP address of google.com is 209.85.146.147 IP address of google.com is 209.85.146.99 IP address of google.com is 209.85.146.104 IP address of google.com is 209.85.146.106 IP address of google.com is 209.85.146.103 IP address of google.com is 209.85.146.105 $ resolveip -s google.com 209.85.229.147 Y parsea los resultados del buscador Bing pasándole como parámetro la IP recién obtenida: ...

June 14, 2011 · 1 min · 128 palabras · Nacho Cano

Usando una conexión segura en el panel de control de Wordpress

Si tenemos instalado un WordPress y queremos iniciar sesión a través de una conexión segura, deberemos modificar el fichero /usr/share/wordpress/wp-config.php y añadir: define('FORCE_SSL_LOGIN', true); Si queremos que se use la conexión segura en todo el panel de control, en lugar de lo anterior, añadiremos: define('FORCE_SSL_ADMIN', true); Para que esto funcione, es necesario que Apache esté configurado para servir conexiones seguras. Actualización a 13 de julio de 2013 Si hemos iniciado sesión y navegamos por nuestra página web, deberíamos asegurarnos de que seguimos usando una conexión segura, ya que estamos enviando nuestra cookie de sesión y alguien en la misma red podría llegar a capturarla si no es así. ...

June 14, 2011 · 1 min · 144 palabras · Nacho Cano

Configurar Apache para servir conexiones seguras

Si tenemos Apache, y queremos configurarlo para que se pueda navegar de forma segura por nuestro sitio utilizando el protocolo HTTPS, necesitamos: crear las claves que se utilizarán para cifrar la conexión, configurar mod_ssl, el módulo de Apache para usar conexiones seguras, y permitir la conexión por el puerto 443. Crear las claves de cifrado Vamos a generar un par de claves RSA triple DES de 2048 bits en el directorio /etc/ssl: ...

June 14, 2011 · 7 min · 1309 palabras · Nacho Cano

UnicodeDecodeError con Wapiti

Wapiti es un escáner de vulnerabilidades web basado en fuzzing. En la última versión, 2.2.1, permite detectar vulnerabilidades referente a: Errores de gestión de ficheros (include/require local y remoto, fopen, readfile...) Database Injection (PHP/JSP/ASP SQL Injections y XPath Injections) XSS (Cross Site Scripting) Injection LDAP Injection Command Execution detection (eval(), system(), passtru()…) CRLF Injection (HTTP Response Splitting, session fixation…) Sin embargo, si usamos Ubuntu Natty Narwhal, la versión de los repositorios es la 1.1.6, por lo que es posible que nos encontremos el siguiente error al escanear páginas que contengan caracteres no ASCII. Por ejemplo: ...

May 28, 2011 · 2 min · 238 palabras · Nacho Cano