Debido a una pregunta que me han hecho sobre los logs de apache, php y demás, me pidieron la posibilidad de tener un archivo de logs propio (para mayor comodidad) y para ciertos archivos, así que bueno le recomendé la posibilidad de usar la función error_log() (http://php.net/manual/es/function.error-log.php) de PHP e hize este pequeña función para uso:
function ErrorLog(){
error_log(mysql_error()."\t IN: ".__FILE__."\n\n",3,'/var/www/error.txt');
}
la cual la podemos implementar de la siguiente manera:
vulnerable.php
<?php
function ErrorLog(){
error_log(mysql_error()."\t IN: ".__FILE__."\n\n",3,'/var/www/error.txt');
}
$id = $_GET['id'];
if(!empty($id)){
$conexion = mysql_connect ("127.0.0.1","root","toor");
mysql_select_db("test", $conexion);
$result = mysql_query ("SELECT * FROM noticias WHERE id=$_GET[id]", $conexion) or die(mysql_error().ErrorLog());
$row = mysql_fetch_array($result);
echo "<h1>Titulo: $row[titulo]</h1>\n";
echo "<p><b>Noticia: </b> $row[detalle]</p>\n";
echo "<i><b>Por: </b>$row[autor]</i>";
} else {
echo "Pagina no encontrada.";
}
?>
Y así es como lo podemos implementar, y aparte de los logs de apache y php podemos tener uno personalizado con un poco de php, cualquier duda, sugerencia, critica es bienvenida.
Zalu2