Старый 17.03.2014, 18:22   #1
b10s
 
Регистрация: 10.01.2014
Сообщений: 6
Репутация: 1
По умолчанию возможен ли sql-inj в хранимых процедурах MySQL

Здравствуйте,

представим что у нас есть код:

Код:
DELIMITER $$

CREATE PROCEDURE `someProc`( IN _xxx VARCHAR(50) )
BEGIN 
   
    SELECT _xxx AS ttt;
        
END$$

DELIMITER ;
затем я его вызываю, например, так:

Код:
call someProc("ololol")
1. существует ли возможность заинъектиться ?
2. существует ли вообще какая-либо практическая возможность инъекта в хранимую процедуру MySQL? Пусть и написанную нарочно криво.
b10s вне форума   Ответить с цитированием
Старый 18.03.2014, 10:16   #2
oRb
 
Аватар для oRb
 
Регистрация: 01.07.2010
Сообщений: 319
Репутация: 138
По умолчанию

1. нет
2. да
Код:
CREATE PROCEDURE `someProc`( IN _xxx VARCHAR(50) )
BEGIN
         set @query := concat('select "', _xxx, '" as ttt');
         prepare stmt from @query;
         execute stmt;
END$$
__________________
Не оказываю никаких услуг.
I don't provide any services.

Последний раз редактировалось oRb; 18.03.2014 в 12:13..
oRb вне форума   Ответить с цитированием
Ответ

Метки
mysql, sql-injection, stored procedure

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot