[Tutorial] Seguridad web By:Painboy

Iniciado por niñoweb, 4 Marzo 2009, 16:09 PM

0 Miembros y 1 Visitante están viendo este tema.

PanConMantequilla

#10
Cita de: janito24 en 26 Abril 2009, 08:00 AM
@Rencoroso lo que haces con eso es por ejemplo sí tienes un archivo "index.extensión" lo lea como un servidor leeria un archivo "index.php" osea que en el navegador pondrías "www.tvpágina.com/index.extensión" y se mostraria tú index.php que lo único que tiene de especial es la extensión.

Saludos

Hola, gracias por responderme, y si entiendo a la perfeccion el asunto y como hacerlo, intento hacer lo que dices PERO a pesar de ello no resuelvo mi problema, este es un demo de lo que quiero decirles: DEMO AQUI
fijense en el codigo fuente que muestra el codigo PHP y tampoco muestra el mensaje PHP, como digo "solo muestra HTML"
tambien tengo que decir que cuando agrego al .htaccess el primer codigo no funciona, sino me da la opcion para descargar la pagina:
CitarAddType application/x-httpd-html .fuck
pero cuando agrego :
CitarAddType x-httpd-html .fuck
recien puedo ver resultados pero como dije, se puede ver el codigo PHP en el fuente

alguna solucion?? :huh:

2 minutos despues: Ahora estoy realmente confundido, crei que era el codigo
CitarAddType application/x-httpd-html .fuck
que me permitia la descarga del archivo, pero creo que no es asi, la opcion para descargar noto que sale solo en Internet Explorer y en Mozilla no y no entiendo porque  :huh:

pana88

loco te pasaste este post esta bien bueno .... nos veremos por ahi ... suerte

pana88

va a aparecer 50.000.000 de veces jeje muy buena compilacion , y bastante bien echo ...saludos

дٳŦ٭

Pues le falta no crees?. En nivel 0-10 donde el 10 es el más alto le daría un 7. Yo le agregaría:

Citar


By Azielito

Como todos sabemos podemos poner el archivo de conexion a la base de datos en un archivo, y, entonces mandamos a llamarlo y listo. Ahora bien, que pasa si antes de hacer la conexion limpiamos todas las variables que pasan por GET o POST (o por cookie)? asi tendremos siempre limpias nuestras variables y evitamos ataques XSS y SQLi.

Código (php) [Seleccionar]
<?php
# Funcion para limpiar caracte-
# res que pudieran comprometer
# al servidor y/o al usuario
function limpia($var){
$var strip_tags($var);
$malo = array("\\",";","\'","'"); // Aqui poner caracteres no permitidos
$i=0;$o=count($malo);
while(
$i<=$o){
$var str_replace($malo[$i],"",$var);
$i++;
}
return 
$var;
}

# Funcion que aplica la funcion anterior
# para no tener que preocuparnos por
# ataques de XSS o SQLi
function LimpiarTodo($datos){
if(
is_array($datos)){
$datos array_map('limpia',$datos);
}else{
die(
"<font color=#ff0000><b>Error:</b></font> La funcion <b>LimpiarTodo</b> debe contener un arreglo.");
}
return 
$datos;
}
if(
$_POST){
$_POST =& LimpiarTodo($_POST);
}
if(
$_GET){
$_GET =& LimpiarTodo($_GET);
}

# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_DB "localhost"// El host del MySQL
$database_DB "DataBase"// Nombre de la base de datos
$username_DB "usuar10&#8243;; // Usuario con l que te conectas
$password_DB = "th3pas5sz"; // Contraseña ñ_ñ
$serpub = mysql_connect($hostname_DB$username_DB$password_DB) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db(
$database_DB);
?>


Ahora solo nos queda insertar ese archivo cuando hacemos alguna operacion en MySQL y listo! nos olvidamos de limpiar las variables una a una para evitar los ataques antes mencionados.

Para evitar ataques de RFI entonces en esta linea:

Código (php) [Seleccionar]
$malo = array("\\",";","\'","'"); // Aquí poner caracteres no permitidos

Agregamos los dos puntos ( ":" ) y la diagonal ( "/" ) si sabemos que nunca se usaran estos caracteres en los campos de nuestra base de datos quedaría así:

Código (php) [Seleccionar]
$malo = array("\\",";","\'","'",":","/"); // Aquí poner caracteres no permitidos

y quedamos seguros evitando que nos metan los "caracteres malditos".


By SMF:

Código (php) [Seleccionar]
<?php
function addslashes__recursive($var){
if (!
is_array($var))
return 
addslashes($var);
$new_var = array();
foreach (
$var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
return 
$new_var;
}
$_POST=addslashes__recursive($_POST);
$_GET=addslashes__recursive($_GET);
$_REQUEST=addslashes__recursive($_REQUEST);
$_SERVER=addslashes__recursive($_SERVER);
$_COOKIE=addslashes__recursive($_COOKIE);
?>


Con sangre andaluza :)


HardieVon

en efecto lo que dice el chavo este tiene razón no esta muyy completo.

yo le doy un 4.

le falto y en los htaccess esta muy fumado