1

我已经使用 TDE 对我的数据库应用了表级加密,并且正在通过适当的身份验证从我的 Windows 应用程序访问数据库:

我的查询可能如下所示(打开一个广泛的注入条目)。

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 '这样它就会给出整个数据。我的问题是,在这种情况下,他是获取加密数据还是实际数据

注意:我不在我的应用程序中使用此类查询,而是在整个应用程序中使用参数化查询和 sp。要求这只是为了澄清。

4

2 回答 2

3

TDE 正在加密静态数据,(链接在这里),因此不能保护您免受注入。它只加密数据文件和数据日志。

于 2015-09-02T05:26:59.900 回答
2

他会得到实际的数据。是的,TDE 会加密整个数据库,但只有当有人带走数据库文件或备份时才有意义。如果有人登录数据库,或者通过SQL注入潜入,没有区别,他会得到实际数据。

于 2015-09-02T05:26:51.017 回答