sql注入无法正常工作

yeh*_*uda 0 php sql sql-injection

为什么我的sql注入我试图练习不工作.

$sql = "INSERT INTO animals VALUES ('', '{$string}', 'rover')";
Run Code Online (Sandbox Code Playgroud)

我有一个输入框,我把下面的内容

', ''); drop table dropme; --  
Run Code Online (Sandbox Code Playgroud)

并且它被替换为注入代码.

但是sql失败了.但是当我在phpmyadmin中处理以下语句时,它确实有效.

INSERT INTO animals VALUES ('','    ', ''); drop table dropme; --   ','rover')";
Run Code Online (Sandbox Code Playgroud)

怎么会这样?我的浏览器是否会自动为其转义

Dav*_*dom 8

没有PHP/MySQL接口允许您一次执行多个语句.PHP中无法进行此类SQL注入.

当您在phpMyAdmin中执行它时,它会将您的字符串拆分为单独的查询并一次执行一个.

PHP中可能的SQL注入类型是这样的:

$dirtyString = "' OR 1 = 1 UNION ALL SELECT * FROM private_table WHERE '1' = '1";

$query = "SELECT * FROM public_table WHERE `col` = '$dirtyString'";
Run Code Online (Sandbox Code Playgroud)