Клиентская библиотека Microsoft AJAX добавляет это к прототипу Массива поэтому, если у Вас будет та клиентская библиотека в Вашем сайте тогда, то у Вас будет он наверняка.
Должно получиться что-то вроде этого:
Это сделает ваш запрос похожим на
$res = mysql_query("SELECT * from users where user='foo' -- ' AND pass=''");
] «-» означает, что остальная часть строки закомментирована.
Это сделает ваш запрос выглядит так:
$res = mysql_query("SELECT * from users where user='foo' OR (DROP TABLE users) -- ' AND pass=''");
может не принять это, хотя - я думаю, что подзапросы могут только SELECT.
Функция mysql_query будет запускать только один запрос - другие позволят вам это сделать:
$res = mysql_query("SELECT * from users where user='foo'; DROP TABLE users -- ' AND pass=''");
Вы не сможете УДАЛИТЬ
таблицу, потому что с помощью mysql_query
вы не можете отправлять несколько запросов.
Вот длинный список.
http://ha.ckers.org/sqlinjection/
Очевидно, ваш код не пройдет почти все тесты, поскольку он полностью незащищен.
{} не причина. Возможно, что php Magic Quotes (теперь устарел) защищают вас от довольно упрощенных атак.
Однако вы можете отключить их , а затем протестировать снова.
Попробуйте это и посмотрите, выгрузит ли он всю таблицу:
For both username and password, I enter:
' OR 1=1 AND '}' '=
Это, конечно, предполагает, что я знаю, что вы используете фигурные скобки для заключения значений данных.
I ' Я действительно не знаю, как MySQL обрабатывает подобную смешанную логику, поскольку она не заключена в круглые скобки, поэтому дайте мне знать, работает ли она!