Warum stellen URL-Parameter eine Sicherheitsbedrohung dar?

314
Shea A.

Ich weiß, dass SQL-Injection-Angriffe auf dem Vormarsch sind, Websites müssen die Sicherheit verbessern. Ich verstehe, dass 'Dorks' normalerweise so sind, wie sie hineinkommen.

Warum ist zB php?id=xeine mögliche Bedrohung für die Site im Vergleich zu sagen index.php?

0

1 Antwort auf die Frage

0
slhck

Sobald Sie dem Benutzer Parameter zur Verfügung stellen, weiß der Angreifer, dass sie analysiert werden. In diesem Fall wird show.php?id=foomö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.