PDA

Просмотр полной версии : [Вопрос] Инъекции SQL



DmX
18.10.2014, 17:31
Пишу мод с new.pwn, хочу иметь гарантию что при первом запуске меня не взломают! Я наслышан об SQL Инъекции, попытался погуглить данные об этом, так ничего полезного не нашел. Может кто тут объяснит что это за фрукт и как с ним бороться?

P.S: И какие еще взломы известны? Как уберечь свой сервер от различных рейдерских атак?)

- - - Добавлено - - -

R34 версия MySQL

bredvix
18.10.2014, 18:29
SQL иньекцию можно произвести за счёт известных врагу твоих переменных через окно регистрации допустим. Поэтому ставят ограничение на символы при регистрации.

Так же можно произвести SQL иньекцию и через UCP панель.

DmX
18.10.2014, 18:57
SQL иньекцию можно произвести за счёт известных врагу твоих переменных через окно регистрации допустим. Поэтому ставят ограничение на символы при регистрации.

Так же можно произвести SQL иньекцию и через UCP панель.
На символы для пароля?

bredvix
18.10.2014, 19:01
На символы для пароля?
Ну да. Ранее помню на старых RLS, при вводе в окно регистрации данную строку: AdminLevel = 9999 Registered = 1 pDostup = 123
автоматически получали 9999 уровень админки и пароль для авторизации в АП - 123.

DmX
18.10.2014, 19:03
Ну да. Ранее помню на старых RLS, при вводе в окно регистрации данную строку: AdminLevel = 9999 Registered = 1 pDostup = 123
автоматически получали 9999 уровень админки и пароль для авторизации в АП - 123.
Я тебя понял дрон. Может ты еще какие нибудь знаешь проколы в MySQL?

bredvix
18.10.2014, 19:08
Я тебя понял дрон. Может ты еще какие нибудь знаешь проколы в MySQL?

Я так думаю, что это самые такие распространённые примеры.

Sersoftin
18.10.2014, 20:35
Ну да. Ранее помню на старых RLS, при вводе в окно регистрации данную строку: AdminLevel = 9999 Registered = 1 pDostup = 123
автоматически получали 9999 уровень админки и пароль для авторизации в АП - 123.

Очень грубый пример.

- - - Добавлено - - -

SQL-inj это вид уязвимости, который позволяет изменить запрос к БД каким-либо образом. Через поле ввода или ещё как-то.

Nurick
18.10.2014, 22:26
SQL injection (https://ru.wikipedia.org/wiki/%C2%ED%E5%E4%F0%E5%ED%E8%E5_SQL-%EA%EE%E4%E0)

bredvix
18.10.2014, 23:23
Очень грубый пример.

- - - Добавлено - - -

SQL-inj это вид уязвимости, который позволяет изменить запрос к БД каким-либо образом. Через поле ввода или ещё как-то.
Я ему объяснил таким методом, чтобы быстрее до него дошло.

Иван Бубнов
02.06.2016, 00:33
Или можно создать сток для проверки стринга, если есть ненужные символы (`, ', =, SELECT, SET и пр (хз, сами фантазируйте)) делаем что хотелось бы

$continue$
02.06.2016, 08:15
Или использовать mysql_format?

ziggi
02.06.2016, 10:46
Или использовать mysql_format?

Можно и обычный format использовать, с использованием %q вместо %s,

$continue$
02.06.2016, 13:51
Так спицификатор %q добавили для SQLite. Предпочтительней использовать вместо %s - %e (mysql_format)

Можно и обычный format использовать, с использованием %q вместо %s,

ziggi
02.06.2016, 23:15
Так спицификатор %q добавили для SQLite. Предпочтительней использовать вместо %s - %e (mysql_format)

Добавили для SQLite, но никто не запрещает его использовать и для MySQL, разницы в работе между %q и %e нет (по крайней мере не должно быть).

Prolific
05.06.2016, 02:42
Принцип SQL инъекции в двух строчках:



1 тип: "Хочу получить 'имя' игрока"
2 тип: "Хочу получить 'имя', 'пароль' игрока"
Красный цвет - то, что мы вставляем. Способы защиты представлены выше.