2017-06-10 73 views
0

所以,我的C#Windows窗體應用程序有兩個部分。 Database Records Manager (DRM)Public Access Client (PAC)安全的影響(與有限的權限)在程序文件

我用兩個客戶端來訪問微軟的Azure SQL數據庫,與所提供的連接字符串。

Server=tcp:{thedatabasename}.database.windows.net,{theport};Initial Catalog={adatabase};Persist Security Info={bool};User ID={username};Password={password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate={bool};Connection Timeout={int}; 

在程序代碼中使用此連接字符串的安全含義是什麼? (如在formname.cs內)

用於訪問帳戶的用戶/登錄名具有db_datareaderdb_datawriter角色。

,該程序連接到主機沒有敏感的數據的數據庫,也許比在主表中的用戶的細節其他。

回答

2

你的數據庫內容是對任何人敞開的。用戶名和密碼是微不足道的發現,然後他們會廣爲人知。不僅你應用的用戶,而且真的任何人都可以並將訪問你的數據。腳本小子只會因爲可以刪除每個表中的所有行(您確實授予權限)。黑客將閱讀每個表格,包括您的用戶名稱和電子郵件地址,您的金融交易,以及數據庫中的任何可用內容。

而且你會發現自己無法改變這種泄露的用戶憑據,因爲它是在應用程序中硬編碼的,你必須說服用戶安裝一個新的版本,如果你想改變它。

0

如果我理解正確的,你的Public Access Client (PAC)是一個C#Windows窗體應用程序和用戶可以使用它在自己的機器。在這種情況下,您的數據庫絕對不安全,因爲連接字符串只是一個配置選項,並沒有提供任何安全性。攻擊者可以反編譯您的應用程序,獲取連接字符串,然後使用它訪問Microsoft Azure SQL數據庫,以便他可以提取或破壞您的所有數據。