,hacks ,Mysqli injection mal anders = MySQL-Injection mal anders 

MySQL-Injection mal anders

Man nehme folgenden Script-Aufbau:

<?php

$mysqli = new mysqli('localhost', 'root', '', 'datatabletest');

$rating = $mysqli->real_escape_string($_GET['rating']);

$sql = "SELECT name, rating FROM movies WHERE rating > " . $rating;

Da wir ja mustergültig escapen, sollte eigentlich nichts schief gehen – oder? Nun, der Benutzer übermittelt in $_GET[‚rating‘] folgenden Wert:

3 AND 0 = IF(1, BENCHMARK(1000000, MD5(REPEAT(CONVERT(1, CHAR), 1000))), 0)

Der Wert von $sql lautet danach:

SELECT name, rating FROM movies WHERE rating > 3 AND 0 = IF(1, BENCHMARK(1000000, MD5(REPEAT(CONVERT(1, CHAR), 1000))), 0)

Ein astreines DoS-Einfallstor. In solchen Fällen besser intval verwenden.

Original entdeckt von ulf-wendel.de.



Add Comment

* Required information
1000
Powered by Commentics

Comments (0)

No comments yet. Be the first!