Passo 4 (e último): O Backend (MySQL)

Como o PDO encontrou apenas um marcador, ele pega o único valor do execute() (o payload de name) e o insere ali.
O MySQL recebe a consulta final, já montada e reestruturada:
SELECT \'x' FROM (SELECT table_name AS `\'x from information_schema.tables)y;#'#\0` FROM fruit WHERE name = ?

O MySQL executa a primeira parte (SELECT ... FROM ...;) e, por causa do ponto e vírgula, encerra a instrução. O resto da string é ignorado, e a lista de tabelas é retornada ao atacante.
 
 
Back to Top