Sobald Sie dem Benutzer Parameter zur Verfügung stellen, weiß der Angreifer, dass sie analysiert werden. In diesem Fall wird show.php?id=foo
möglicherweise eine aufgerufene Site geladen foo
.
Im Code könnte es so aussehen:
$site = $_GET['id']; content_query = "SELECT content FROM sites WHERE name ='" + $site + "';"; # do some manual SQL queries # then output the content echo("<div id='content'>" . $content . "</div>");
Offensichtlich ist der Parameter anfällig für die SQL-Injektion, bei der ein Angreifer leicht die gesamte Datenbank ausgeben oder löschen kann.
Oder die Site könnte einige "verborgene" Sites haben, die nicht öffentlich verlinkt sind, aber immer noch zugänglich sind. Angenommen, Sie haben öffentliche Websites mit den IDs 1 bis 100, dann könnte ein Angreifer vermuten, dass Sie auch eine Website haben show.php?id=101
, zu der Sie keine Verknüpfung herstellen möchten.
Beachten Sie, dass in diesem Zusammenhang ein "Dork" nur jemand ist, der seine Website nicht ordnungsgemäß absichert und dies durch Google offenlegen würde - es ist nicht der Name des Angriffsvektors.