2015-09-02 2 views
1

я применил шифрование на уровне таблицы, используя TDE в моей базе данных, и я доступ к базе данных из моего окна приложения, с помощью надлежащей аутентификации:Возможности SQL-инъекции в следующем запросе

мой запрос может выглядеть следующим образом (открывает широкую позицию для инъекций).

VB

Dim myQuery="Select * from myTable where some_id='" & txtUserId.Text & "' 

C#

string myQuery="Select * from myTable where some_id='" + txtUserId.Text + "' 

Считают, что злоумышленник пытается какую-то технику инъекции, вводить текст как sameValue' or 1=1 or ' так, что она будет давать все данные. мой вопрос заключается в том, что в этом случае ли он получить зашифрованные данные или быть фактические данные

Примечание: я не использую такие запросы в моем приложении, я использую параметризованный запрос и зр в течение моего приложения. спрашивая это только для разъяснения.

ответ

3

TDE шифрует данные в состоянии покоя, (link here), и поэтому не защищает вас от инъекций. Он только шифрует файлы данных и журналы данных.

+0

Отлично, спасибо за ответ –

2

Он получит фактические данные. Да, TDE шифрует всю базу данных, но это имеет значение только в том случае, если кто-то уходит с файлами базы данных или с резервной копией. Если кто-то входит в базу данных или пробирается через SQL-инъекцию, нет никакой разницы, он получит данные acutal.

+0

Отлично, спасибо за ответ –

Смежные вопросы