Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / "используй хранимки - и про инъекции забудешь" - так ли это? / 22 сообщений из 22, страница 1 из 1
23.03.2016, 12:00
    #39198666
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
kormot,
используй хранимки - и про инъекции забудешь.
...
Рейтинг: 0 / 0
23.03.2016, 12:02
    #39198670
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяkormot,
используй хранимки - и про инъекции забудешь.Это миф. Хранимки никак не влияют на возможность инъекции, ни положительно, ни отрицательно.

Вот параметризованные запросы - да, помогают.
...
Рейтинг: 0 / 0
23.03.2016, 12:06
    #39198673
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
miksoftвадяkormot,
используй хранимки - и про инъекции забудешь.Это миф. Хранимки никак не влияют на возможность инъекции, ни положительно, ни отрицательно.

Вот параметризованные запросы - да, помогают.
это не миф - я проверил
попытка инъекции вызывает ошибку
...
Рейтинг: 0 / 0
23.03.2016, 12:07
    #39198675
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяmiksoftпропущено...
Это миф. Хранимки никак не влияют на возможность инъекции, ни положительно, ни отрицательно.

Вот параметризованные запросы - да, помогают.
это не миф - я проверил
попытка инъекции вызывает ошибкуЗначит та же самая ошибка может быть воспроизведена и без хранимки.
...
Рейтинг: 0 / 0
23.03.2016, 12:09
    #39198678
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
miksoftвадяпропущено...

это не миф - я проверил
попытка инъекции вызывает ошибкуЗначит та же самая ошибка может быть воспроизведена и без хранимки.
ты проверь, прежде чем утверждать
...
Рейтинг: 0 / 0
23.03.2016, 12:11
    #39198680
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
miksoft,

и эта тема уже поднималась. и было доказано, что хранимки спасают от инъекций
...
Рейтинг: 0 / 0
23.03.2016, 12:13
    #39198684
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
miksoft,
дажже с использованием PREPARE.
идет выполнение до ;
...
Рейтинг: 0 / 0
24.03.2016, 04:59
    #39199215
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяmiksoft,

и эта тема уже поднималась. и было доказано, что хранимки спасают от инъекцийНу давай тогда ссылку, посмотрим, кому они помогают и как.
...
Рейтинг: 0 / 0
24.03.2016, 06:32
    #39199222
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
tanglir,
проще самому проверить, чем искать.
я проверил, для меня этого достаточно.
...
Рейтинг: 0 / 0
24.03.2016, 08:23
    #39199252
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
tanglir,
нашёл 15720221
а недавно проверил и для PREPARE
не удалось вставить инъекцию, как ни старался .....
...
Рейтинг: 0 / 0
24.03.2016, 10:02
    #39199318
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
15749006 Не знаю, как оно у тебя ничего не выводит...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
USE `test`;
CREATE TABLE `ololo` (
	`id` INT(11) NOT NULL,
	PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
CREATE TABLE `trololo` (
	`id` INT(11) NOT NULL,
	PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
INSERT INTO `test`.`ololo` (`id`) VALUES (1);
INSERT INTO `test`.`trololo` (`id`) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
delimiter //
CREATE DEFINER=`root`@`%` PROCEDURE `sp_ololo`(IN `Param1` VARCHAR(255))
	LANGUAGE SQL
	NOT DETERMINISTIC
	READS SQL DATA
	SQL SECURITY DEFINER
	COMMENT ''
BEGIN
declare str varchar(255);
set @str = concat("select * from ololo where id=",Param1);
prepare stmt from @str;
execute stmt;
deallocate prepare stmt;
END//
delimiter ;
call sp_ololo('1'); -- моментально
call sp_ololo('(
select q1.id
from trololo q1
cross join trololo q2
cross join trololo q3
cross join trololo q4
cross join trololo q5
cross join trololo q6
order by rand()
limit 1
)') -- занимает несколько сеунд
...
Рейтинг: 0 / 0
24.03.2016, 10:03
    #39199321
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
Удаление, конечно не сработает - prepare принимает только один запрос. А вот ддос - вполне себе вариант.
...
Рейтинг: 0 / 0
24.03.2016, 10:57
    #39199363
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
tanglirУдаление, конечно не сработает - prepare принимает только один запрос. А вот ддос - вполне себе вариант.
а засунуть такое в параметризированный запрос ?
...
Рейтинг: 0 / 0
24.03.2016, 11:35
    #39199405
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
tanglir,
вариант интересный, но "не опасный"
он только загрузит сервер, если знать структуру базы, но просто не вернёт никаких данных..
да и если where id=, а параметр строка - то как бы и поделом за такое.
...
Рейтинг: 0 / 0
24.03.2016, 12:08
    #39199484
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяда и если where id=, а параметр строка - то как бы и поделом за такое.ну как бы о том и речь, в исходной теме ТС как раз собирал запрос по кусочкам.
...
Рейтинг: 0 / 0
24.03.2016, 12:12
    #39199492
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяон только загрузит сервер, если знать структуру базы
Ну загрузить он сервер может так, что тот ляжет.
Да и не нужна структура базы, ибо вместо абстрактной trololo можно пообщаться, например, с объектами из INFORMATION_SCHEMA...
...
Рейтинг: 0 / 0
24.03.2016, 12:36
    #39199544
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
Akina,
ну какие-то правила безопасности надо собюдать....
но ведь и входные параметры хранимки и есть соответствие параметрам в парамер....м запросе.
так что и его можно таким образом использовав завесить сервер
...
Рейтинг: 0 / 0
24.03.2016, 14:50
    #39199798
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяно ведь и входные параметры хранимки и есть соответствие параметрам в парамер....м запросе


...нет, в обшем случае фраза неверная....
...
Рейтинг: 0 / 0
24.03.2016, 16:56
    #39199949
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
javajdbcвадяно ведь и входные параметры хранимки и есть соответствие параметрам в парамер....м запросе


...нет, в обшем случае фраза неверная....
обоснуй
...
Рейтинг: 0 / 0
24.03.2016, 20:58
    #39200114
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяkormot,
используй хранимки - и про инъекции забудешь.

это почти так.
чтобы было так на 100% нужно выполнить еще два условия:
- не использовать языковые запросы при вызове процедуры, т. е. выполнять процедуры всегда через средства CLI API клиента в виде "процедура"( параметр =значение,...)
- не использовать в процедурах exec динамически формируемого текста запроса.

при этом соблюдается одно простое и необходимое правило - данные никогда не интерпретируются как код на SQL.
...
Рейтинг: 0 / 0
24.03.2016, 21:11
    #39200121
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
MasterZiv,
как показал пример tanglir
даже динамичеие запросы в хранимках могут только затормозить сервер, и то если не грамотно задавать параметры
...
Рейтинг: 0 / 0
24.03.2016, 23:30
    #39200169
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"используй хранимки - и про инъекции забудешь" - так ли это?
вадяjavajdbcпропущено...



...нет, в обшем случае фраза неверная....
обоснуй


...хранимая процедура ничем принципиально не отличается от
програмного блока на любом другом языке.
Вы можете накосячить в ней не меньше чем на джаве или
на ПХП. Немного попрограмируете -- поймете сами...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / "используй хранимки - и про инъекции забудешь" - так ли это? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]