Đăng Nhập PIN - Dễ Tấn Công



Mã PHP có dạng:

$client = $_POST['client'];
$pin = $_POST['pin'];

$query = sprintf("SELECT * FROM clients WHERE id = %s AND pin = %s;",
                 mysqli_real_escape_string($connection, $client),
                 mysqli_real_escape_string($connection, $pin));

$result = mysqli_query($connection, $query);

if ($result->num_rows > 0)
{
    echo "Đã đăng nhập với tư cách là " . $client;

    // ...
    // $_SESSION['logged_user'] = $client;
    // ...
}
else
{
    echo "Tên người dùng hoặc mật khẩu bị sai.";
}
            

Cách thức khai thác lỗ hổng:

Hãy thử nhập mã PIN là: 1 OR 1=1 để được xác thực.