Este es un post en homenaje a Ignacio, creador de La Bitácora del Capitán, quien pasa sus días penando 😛 por conseguir programadores que hayan pasado, aunque mas no sea, Seguridad I con suficiente holgura.
El caso que voy a presentar es el de otro espécimen de programador. El que le gusta rizar el rulo o reinventar la rueda, como mas les guste. Pero que, en definitiva, complica mal lo que ya ha sido hecho muy fácil.
Vean:
< ?php
$program = "get_document.php";
$file_result = $_GET [ "src" ];
$file_src = "/home/xxxxxxxx/public_html/archivos/$file_result";
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-disposition: attachment; filename='.basename($file_src));
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($file_src));
readfile($file_src);
exit ();
?>
¿Como llego a obtener ese código?
Cuando en una web veo esto: http://www.xxxxxxxxx.com.ar/get_document.php?src=archivo.doc
Con solo un cambio de nombre del archivo .doc ya me informó el path completo en el server donde esos archivos están ubicados y con un par de pruebas nomás se pudo acceder al index.php y por a traves de este, saber el nombre de la base de datos, su user y su password, a tener acceso a al archivo shadow con las contraseñas de las cuentas de e-mail, etc.
Los responsables del hosting donde se aloja este script tienen un buen sysadmin, que ha entendido lo que significa impedir el acceso de ciertos usuarios a determinadas zonas del server, caso contrario, hoy estarían penando para ver por donde le colaron los 4300 sitios simulando ser la página de PayPal o el Banco Francés.
Como dice Ignacio: Validar y curar. No se olviden, hay mucho garca dando vueltas y pocos que usan en serio el “solo con proósitos educativos” 😉
1 comentario
Para variar 100% de acuerdo 🙂
Penando y penando, y justo estos días con un especímen que ni te cuento!
besos para todos, abrazo