2016-02-21 88 views
0

我已經使用註冊的「sa」sql帳戶登錄到了我的sqlserver,並且想要打印(不更改)我當前的密碼。我可以改變它,但我有一個使用當前密碼的應用程序。打印我的sa密碼

我已經做了

SELECT * FROM sys.sql_logins其中名稱= '山'

,但它給了我一個哈希密碼

如果它是不可能的,如何導出我的sa連接到另一個sql服務器實例?

+0

你可以只導出Hash和在其他情況下導入它解決了,我相信 – SZenC

+0

如果使用當前的密碼,然後爲什麼不找一個應用程序在該應用程序中的密碼?更好的主意 - 不要使用任何應用程序的sa帳戶。 –

回答

2

警告 - 可怕的實踐

改變你的應用程序中使用用戶以外的其他SA,最好沒有系統管理員權限。通常數據庫級別的db_datareader,db_datawriter和MAYBE db_ddladmin就足夠了,儘管它可能需要對數據庫進行GRANT EXECUTE。

如果你不能,那麼再討論一些。書面。

如果再次丟失,請將sa密碼更改爲密碼長且密碼隨機的密碼,並與正在使用新密碼更新的應用程序一致。

並確保該實例僅用於該應用程序,因此風險僅限於該區域。


恢復當前的sa密碼

首先,你是一個系統管理員,不是嗎?你應該已經知道sa密碼了!如果你失去了兩次,只要將另一個實例上的sa密碼更改爲同一個(或者更好的是,將它們改爲更好的東西),通過ALTER LOGIN(下面)或GUI。其次,要意識到該應用程序的每個用戶都可以獲得你的SA密碼 - 他們幾乎可以肯定地使用十六進制編輯器將它從應用程序中提取出來,尋找字符串pwd或pass(UCS-2「Unicode」或ASCII)。

你有應用程序,對不對?請諮詢您當地的安全管理員,看看您是否可以在hex editor中打開它並自己找到sa密碼。


移動sa密碼

在一般情況下,如果你希望移動相同的密碼,你可以用

ALTER LOGIN SA PASSWORD = '哈希字符串' HASHED

改變它。

不這樣做定期 - 如果有人得到你所有的密碼(就像你讓他們),最好是每一個有獨特的鹽,所以攻擊者不得不花費更多的工作測試針對的散列許多鹽在他們開始尋找密碼之前。

不要從低級保護到高級保護 - SQL Server 2005,2008和2008R2都使用相同的算法。 SQL Server 2012和2014使用相同的。不要將2005/8/8R2哈希移至2012/14;它明顯更弱(2012/14密碼哈希開始可悲)。

因此,您最好將密碼更改爲明文所需,以便SQL Server生成新的鹽。密碼哈希值非常弱,只需要一次迭代SHA-1或SHA-512,因此需要獲得所有幫助。

-1

謝謝

我的問題是使用IDA親