關於SAP用戶密碼的詳解

關於SAP用戶密碼的詳解

作者:袁雲飛(AlbertYuan)- 微信號yuanalbert

以下內容均爲原創,希望對初學者有一些輔助作用,本人主要從事MM/QM/WM的相關工作,不專業處請多多指點,十足乾貨,碼字不易,且行且珍惜,你們的關注就是我努力的動力,轉載請引用出處,感激不盡;

有些小夥伴們喜歡研究一下SAP的用戶產生機制,往往就會對其密碼存放和識別特別感興趣,這裏我就給小夥伴們簡單分析一下關於用戶密碼的一些詳細情況,當然包含一些破解相關的內容,感興趣的小夥伴們可以試着去拓展研究一下,以便充實一下自己的知識面;當然這些內容最好小夥伴們作爲拓展知識去了解,實際應用中最好不要隨意使用;

早期SAP用戶密碼的修改,從底層上說有這麼幾個途徑;

通過SE16N修改USR02表的方式,一個是SE38寫段代碼方式,一個是SE30寫段代碼方式,還有就是使用SE16的Debug方式;
不過注意當前用戶使用中的密碼存放在表USR02裏;
在這裏插入圖片描述
在這裏插入圖片描述
但由於SAP使用的是哈希Hash加密方式,用戶通過明文設置密碼,系統據此生產不會重複的一個哈希識別碼(即使兩個用戶密碼明文相同),登錄時使用識別碼進行匹配,所以即使你獲得密碼存放地也無法破解。

所以我們的原理就是替換,使用一個已經知道的密碼所產生的哈希碼去替換需要修改密碼的用戶的哈希碼,這個方式可行;
代碼如下:

update USR02 
SET BCODE = (select BCODE FROM USR02 WHERE MANDT = <你記得密碼的client> 
                    AND BNAME = '<你記得密碼的用戶名>')
                         WHERE MANDT = 000 AND BNAME = 'DDIC'.

可是在ECC EHP4版本里,這個辦法已經失效了,可以通過查詢密碼版本獲得更多信息;新版本里使用的G版本,也就是說系統在新版本里使用新的SHA1算法,主要將產生的識別碼放在“PASSCODE”中,而非老版本的“BCODE”中,但雖然BCODE字段裏會有值,這也是爲了兼容舊系統;而對於同一個明文,所產生的識別碼是不同的,所以在新版本里無法通過拷貝識別碼來逆向得到明文;
在這裏插入圖片描述
USR02裏的密碼版本幫助說明也能看出些問題:

Code Version of Password Hash Algorithm (New Systems)

Definition

You can control the password hash algorithm and the selection of the fields to be filled using the code version:

The hash value of the password is placed in USR02-BCODE (for code versions A, B, and D) or in the field USR02-PASSCODE (for code versions F and G). Code version X has a special meaning: this value signals that the user does not have a password.

In the case of code version G, the field USR02-BCODE is also filled with the hash value (in accordance with code version B), to be able to export this field content to older systems (=> Central User Administration); the content of the field USR02-BCODE is therefore identical in value for code versions B and G.

During the distribution or transfer of user data by the Central User Administration, the information about the code version is stored redundantly (fields CODVN and CODVC of structures BAPILOGOND and USLOGOND), to be able to ensure backward compatibility for older systems:
在這裏插入圖片描述
在USR02表裏還有一個字段是PWDSTATE,用來說明該用戶的密碼的狀態的,其參考的是數據元素XUCODEVERS,可以使用SE11進去看他的說明;

用戶口令的狀態(關於是否可以或必須更改該口令);
在這裏插入圖片描述
在這裏插入圖片描述
以上爲本章全部內容,希望對小夥伴們有所幫助;

發佈了102 篇原創文章 · 獲贊 1 · 訪問量 8426
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章