MySQL запрос + sprintf = инъекция? - PullRequest
1 голос
/ 27 января 2011

Мне всегда нравится использовать другие методы очистки (и подготовленные отчеты), но я нахожусь в определенных условиях, когда клиент не хочет, чтобы я изменил одну строку из его оригинального сценария (я только собираюсь добавить плагин)

Я беспокоюсь, что кто-то может использовать это, изменив значения $ POST, и он может обвинить меня (как обычно делают клиенты):

extract($_POST, EXTR_PREFIX_ALL, "POST");
$q = sprintf(ARQ, trim($POST_string));
$res = doexec($q);
DEFINE("ARQ", "INSERT INTO library (string) VALUES ('%s')");

Я попробовал несколько комбинаций, но все, что я мог получить, это ошибка,no mysql inject, настолько ли это безопасно, как есть?

1 Ответ

0 голосов
/ 27 января 2011

Я полагаю, doexec вызывает что-то, что не принимает несколько команд, связанных с ;?Вы все еще можете использовать подзапрос для вставки паролей и других конфиденциальных данных из других таблиц (при условии, что пользователь может считывать данные, которые он сохранил, в противном случае вы можете использовать временную атаку ).Если безопасность файловой системы так же низка, как и у кода доступа к базе данных, вы можете использовать SELECT INTO для создания сценария php, который вы можете выполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...