PDA

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


Kruzak
13.06.2012, 22:46
На сервере сделал фильтрацию GET, POST если в них встречается все операторы sql типа select, union, insert, update и т.д.

Этот фильтр можно обойти как-нибудь?

допустим бывают ли закодированные инъекции и как от них защититься?

у меня так ток стоит проверки-фильтры перед вводом, выводом в mysql. но на всякий случай решил сделать фильтрацию get & post

еще у меня отключен вывод всех ошибок php

Konqi
13.06.2012, 23:01
если проверка не регистра-зависима то обойти не получится, кодировать можно сколько хочешь, но если даже обойдут фильтр то база все равно не принет операторы в кодированном виде

Adio
13.06.2012, 23:01
Почитай фаги, по защите, а так сделай уровни фильтрации и все - у меня почти все типы фильтраций есть. Если ты так боишься за то что расскрутят.

InDuStRieS
13.06.2012, 23:10
Kruzak said:
На сервере сделал фильтрацию GET, POST если в них встречается все операторы sql типа select, union, insert, update и т.д.
Этот фильтр можно обойти как-нибудь?
допустим бывают ли закодированные инъекции и как от них защититься?
у меня так ток стоит проверки-фильтры перед вводом, выводом в mysql. но на всякий случай решил сделать фильтрацию get & post
еще у меня отключен вывод всех ошибок php


А почему только GET и POST?

Konqi
13.06.2012, 23:13
InDuStRieS said:
А почему только GET и POST?


ты сколько раз видел иньекцию в put/head/delete/и тп.

методах?

InDuStRieS
13.06.2012, 23:14
Konqi said:
ты сколько раз видел иньекцию в put/head/delete/и тп.
методах?


Я вот не шарю,скажи мне пожалуйста,от чего бывает скуля в хттп заголовках,из-за ошибок скриптов?

Konqi
13.06.2012, 23:17
InDuStRieS said:
Я вот не шарю,скажи мне пожалуйста,от чего бывает скуля в хттп заголовках,из-за ошибок скриптов?


из за того что данные из http загаловки попадают в sql запрос

но я имел ввиду методы передачи данных

но очевидно что фильтр GET/POST не поможет от иньекций в куках и в хидере запроса

mironich
14.06.2012, 01:37
На сервере сделал фильтрацию GET, POST если в них встречается все операторы sql типа select, union, insert, update и т.д.


Где то тут была тема по этому поводу и там не первый раз писали: mysql_real_escape_string, приведение типов, и не каких велосипедов.

И в mysqli есть какаето фишка типо приготовления запросов которая тоже sql иньекции исключает, ибо приводит к типу.

Вроде шаблоны называться.

Вообще лучше использовать фреймверк для работы с БД и не писать кучу вело-кода.

Ereee
14.06.2012, 14:45
А COOKIE? И в HEAD встречается из-за особенностей скрипта.

Melfis
14.06.2012, 14:56
Самые смачные магазы вечно горят на странице корзины, потому что не фильтруют кукисы