Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - WHK

#1451
copión ¬¬
#1452
PHP / Re: crear enlaces seguros para las paginas php
24 Septiembre 2014, 20:07 PM
Es facil... solo debes hacer un array con todas las posibles rutas y luego hacer la comparación con tu parámetro get, si existe la incluyes y si no existe das un 404, de esa manera te aseguras que solamente las rutas reales van a ser solicitadas y nada de cosas extrañas con rutas extrañas.

Por ejemplo:

Código (php) [Seleccionar]
<?php

if(in_array('includes/'.(string)$_GET['sección'].'.php'glob('includes/*.php')))
include('includes/'.(string)$_GET['sección'].'.php');
else
include('includes/404.php');


El cast (string) es para que no te de una excepción si te pasan arrays como parámetros.

También puedes aceptar directorios como lo hace wordpress cuando puedes poner un plugin como plugin.php o una carpeta llamada plugin y un index:

Código (php) [Seleccionar]
<?php

/* Es archivo */
if(in_array('includes/'.$_GET['sección'].'.php'glob('includes/*.php')))
include('includes/'.$_GET['sección'].'.php');

/* Es directorio */
elseif(in_array('includes/'.$_GET['sección'].'/index.php'glob('includes/*/index.php')))
include('includes/'.$_GET['sección'].'/index.php');

/* No existe */
else
include('includes/404.php');


Ahora, si usas file_exists() o is_dir() tendrás que tener cuidado con los agujeros de tipo LFI o RFI, usar esas fuinciones para incluir archivos es muy mala práctica.

Según el blog de donde das en enlace ( http://www.jemjabella.co.uk/2006/safe-dynamic-includes/ ) dice que se debe hacer así:

Código (php) [Seleccionar]
if (strpos($_GET['x'], "/")) {
     $dir = substr(str_replace('..', '', $_GET['x']), 0, strpos($_GET['x'], "/")) . "/";


Es una malisima práctica, muchos sistemas han sido programados de esa manera y estan llenos de agujeros de seguridad como unos mods y plugins para phpnuke, joomla y wordpress, por ejemplo esto sería vulnerable en base a ese código:

index.php?x=.htpasswd

a demás strpos() solo te indica la primera coincidencia, o sea que yo podría escribir algo//algo y bypasear el filtro, insertar carácteres nulos para cortar el include con un %00, etc etc.
#1453
tenés razón, es dedicado xd pero al final sale casi el mismo precio que un buen vps xd
#1454
Citar81,99 €* /mes + IVA

Procesador:    Intel Xeon E5-1620v2 4c/8t 3,7 GHz+/3,9 GHz+
RAM:    64 GB DDR3 ECC 1600MHz
Discos:    2x 2 TB SATA3
IP sin coste mensual*    256 IP
Tarjeta de red pública:    1x 1  Gbps
#1455
Ese si está difícil :-/ es uno de los pocos wargames que valen la pena
#1456
Nivel Web / Re: Retro injection XSS
24 Septiembre 2014, 14:23 PM
si, ya me di cuenta, mientras lo estaba probando el hosting te cerró la cuenta :P
#1457
Cuando contratas un vps en ovh te dan 2 terabytes de almacenamiento :-/
Mi pregunta es, ese servicio de hp es para servidores físicos arrendados? o es almacenamiento virtual? porque si es en la nube entonces como que no es una "gran" noticia.
#1458
Bueno ya me ayudaron xD arrancando el sistema como root con rw init .... y despues con passwd -d root :)
#1459
hola, pues eso, que tengo un notebook con ubuntu 14.04 y estaba jugando con el archivo shadow, cuabdo bloqueé la pantalla despues ya no pude iniciar sesion porque decia que la contraseña era incorrecta.

intenté iniciar modo de recuperacion pero cuando selecciono la opcion de abrir terminal con root al momebto de escribir la contraseña dice segmentation fault, tampoco me inicia el modo grafico de recuperacion, tampoco entra el modo invitado, intenté editar el grub pero no soy muy habil con eso y el sistema no arrancaba, le puse single init bin bash con sus shalshses respectivoa pero nada.

Alguien sabe como lo puedo arreglar? no ando con ningun pendrive ni livecd como para haber editado el archivo a mano.

Gracias.
#1460
Si el foro permitiera poner los títulos con color rojo créeme que lo hubieras puesto también.