RFI
Como evitar vulnerabilidad RFI...
Bueno lo primero sera dejar atras el anticuado include y pasarnos a swicht.
La sentencia switch es como muchos if's juntos cada uno se separa por un case (parecido a C)
En ejemplo:
<?php
switch ($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
}
?>
Eso vendria a significar...
Si la variable i : swicht ($i) {
Es igual a 0 : case 0:
Imprimir i es igual a 0 : echo 'I es igual a 0';
Y los demas asi es como funciona swicht ahora apliquemoslo a invulnerabilizar RFI.
Codigo en php: (esto solo es una tecnica de las muchas que hay de
evitar RFI)
<?php
switch($id) {
default:
include('index.php');
break;
case "link":
include('link.php');
break;
case "otro-link.php":
include('otro-link.php');
}
?>
Expliquemos ese codigo...Mas o menos pueden hacerse una idea de como funciona ese codigo en php
Si en el id (variable de donde se seleccionan las paginas en php) se selecciona 'link' incluir en esa variable link.php y asi con los demas, menos en default que le dice a php que si no existe ninguna opcion vaya a index.php
LFI
Como evitar vulnerabilidad LFI
Aqui como antes es utilizar swicht y es el mismo codigo que antes
<?php
switch($id) {
default:
include('index.php.php');
break; case "link":
include('link.php');
break; case "otro-link.php":
include('otro-link.php');
}
?>
Señores,siglo XXI, dejemos atras el clasico:
<?php
$variable = $_GET['variable'];
include($variable);
?>
Que solo traia owneds y demás cosas...
Un saludo y espero que les haya gustado!!
No hay comentarios:
Publicar un comentario