jueves, 5 de diciembre de 2013

Como restringir el acceso de una ip a una carpeta de tu servidor web

Muchas veces almacenamos datos delicados, o simplemente tenemos el panel de administración de algún CMS del cual hay 500 tipos de vulnerabilidades, videos detallados sobre como hacer el ataque etc... En caso de no haber ningun tipo de vulnerabilidad en el momento de instalarlo con la ultima versión de aquí a 1 año los habrá. Con toda seguridad.
Es por eso que puede ser interesarte poner otro tipo de barrera, como es el acceso restringido a la carpeta de administración por IP.

De cualquier manera, vamos al grano.

1.- Abre tu gestor FTP y ubicate en el directorio donde quieres efectuar la restricción.

2.-Busca y edita el archivo .htaccess De no existir puedes crearlo con cualquier editor de textos

3.-Esto es el código que hace la restricción, lo agregas al archivo

<Limit GET>
    Order Deny,Allow
    Deny from all
    Allow from XXX.XXX.XXX.XXX
</Limit>

Donde (XXX.XXX.XXX.XXX) va a ser nuestra la IP a la que permitiremos el acceso

En este caso hemos puesto la restricción de acceso para una única IP. Pero.. ¿Qué ocurre si queremos darle acceso a varias?

Para poder permitir acceso a varias IPs se puede hacer de dos maneras, poniendo tantas lineas como IPs se quieran permitir:

Allow from XXX.XXX.XXX.XX1
Allow from XXX.XXX.XXX.XX2
Allow from XXX.XXX.XXX.XX3

O simplemente separando por comas las IPs

Allow from XXX.XXX.XXX.XX1,XXX.XXX.XXX.XX2,XXX.XXX.XXX.XX3


Otra posibilidad es la de permitir el acceso a un rango de IPs, pues bien esto lo haremos de la siguiente manera

Allow from XXX.XXX.XXX.

Allow from XXX.XXX.


Decir que si tienes una IP dinámica, esto puede que no sea la solución que estás buscando. Me explico, en el caso de las IPs dinámicas hay ISPs (internet services provider) como por ejemplo ONO que aunque tu IP sea dinámica, ésta no se suele cambiar. Es decir, a efectos prácticos se podría decir que tienes una IP estática. Aunque se pueda dar el caso de que te la cambien.

Otro ejemplo, con telefonica, cada vez que reinicias el router, tu ip si que cambia.

Lo ideal sería tener una IP estática para que la modificación sobre la restricción del acceso sea siempre la misma.


501!




domingo, 1 de diciembre de 2013

Menu aparece duplicado en Wordpress

Debido a que algunas plantillas no estan actualizadas con las nuevas versiones de wordpress, es posible que al crear un menu, este nos aparezca duplicado.

Inicio Proyectos Contacto Inicio Proyectos Contacto


Para solucionar este problema de versiones tendremos que ir a header.php y buscar la siguiente linea: 

<?php wp_nav_menu('menu=header_menu&container=false&menu_class=pages_menu'); ?>


Unicamente con comentarla ( poniendo // delante de wp_nav ) se anula esa linea por lo que ya solo queda el menu que hayamos creado desde el gestor de menus

Como saber la version de wordpress y evitar que otros la conozcan

En este post vamos a ver de qué manera se puede averiguar la versión de un wordpress y cómo hacer para evitar que otros la vean por esos métodos.


Las dos formas mas sencillas para conocer la versión de wordpress de una pagina o blog son las siguientes:

1.- En el mismo código fuente de la página buscamos la etiqueta en el head de la pagina. 

<meta name="generator" content="WordPress 3.6" />

Basta con buscar en el archivo functions.php y añadir al final del archivo (, siempre dentro del php, es decir, justo antes de ?> ) la siguiente linea

//desactivar el wp_generator
remove_action('wp_head', 'wp_generator');


2.- Muchas veces esta etiqueta se desactiva por temas de seguridad, ya que sabiendo la versión se puede buscar fácilmente las vulnerabilidades. Pero hay un archivo que no se suele tener tanto en cuenta como es el readme.html

Simplemente acceder a él y tachaaan aparece el numero de versión y además esta ahi en grande para que se vea mejor


Para evitar esto simplemente basta con borrar el archivo readme.html que en realidad no te ayuda en nada y si ayuda mucho a que accedan a tu sitio web.


sábado, 30 de noviembre de 2013

Configurar ssh por puerto distinto al 22

Editamos el archivo /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Donde pone

Port 22


Cambiamos el puerto 22 por otro numero por ejemplo el 2222


Port 2222


Reiniciamos ssh


/etc/init.d/ssh restart


Y la siguiente conexion por ssh deberá ser por el puerto que se haya puesto

Código en php para extraer los links de una pagina

Con este ejemplo vamos a extraer el enlace y el texto dentro del enlace.

El codigo va a cargar el contenido de una pagina y va a buscar las etiquetas a, de ahi va  a obtener los atributos href y el contenido del enlace

<a href="atributohref"> contenido del enlace </a>

Codigo PHP:

<?php
echo "empezamos";
 ?>
<html>
<body>

<?php
$html = file_get_contents("http://www.URL_de_donde_quieres_extraer_los_links.com");
$dom = new DomDocument();
@$dom->loadHTML($html);
$urls = $dom->getElementsByTagName('a');

foreach ($urls as $url)
{
$attributes = $url->attributes;
    echo "<br>el texto del enlace es $url->nodeValue";
   
    foreach ($url->attributes as $a)
    {
        echo "<br>$a->name es $a->value";
    }
    echo "<br>";
}


?>
<body>
</html>

jueves, 28 de noviembre de 2013

Conocer la version de joomla

Insertando en el navegador:


Accedemos a un monton de detalles como la version de joomla

Este metodo solo es valido para joomla 1.7 o superior

miércoles, 27 de noviembre de 2013

Como decodificar codigo en php

Es posible que nuestro servidor haya ido hackeado y contenga unas lineas de código que no tienen sentido. Si es así debemos decodificarlo con esta herramienta