有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

i042416發表於2020-01-30

大家新年好! Jerry祝大家身體健康,鼠年大吉!

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

本文是鼠年第一篇文章,也是汪子熙公眾號第200篇原創文章。

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

昨天Jerry在家度過了有生以來年味最淡的一個除夕夜。為響應政府和專家的號召,沒有走親訪友,宅在家中,與親人和程式碼一起,度過了一個平靜的除夕夜。

所謂“平平淡淡才是福”,讓我們共同祈禱,期盼這場全人類的災難早點結束。

之前Jerry也閱讀過一些介紹如何透過ABAP單步除錯繞過SAP標準許可權檢查“小技巧”的文章,比如說在偵錯程式裡修改許可權檢查語句AUTHORITY-CHECK的返回值sy-subrc, 或者乾脆用偵錯程式的“跳轉到某條語句”這一功能,直接繞過許可權檢查語句。

雖然說在SAP生產系統裡,按照慣例,普通的業務使用者絕對不會有除錯的許可權,更別說在偵錯程式裡修改變數的值了,但如果是在開發系統裡,直接在偵錯程式裡修改變數的值,或是跳過某些語句的執行,真的就能夠不會被別人發現麼?

答案是否定的。


看個例子:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

我在ABAP偵錯程式裡把變數的值從12改成123,回車使更改生效。

然後事務碼SM21,開啟系統日誌檢視工具:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

我剛才在ABAP偵錯程式裡修改變數值的行為,赫然在案:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

再試試在ABAP偵錯程式裡,使用“Goto statement”,直接跳過某些語句:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

這一行為也逃不過系統日誌的記錄,甚至連我從第幾行ABAP程式碼跳轉到另外的第幾行,都清晰地記錄下來了。

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

Terminal欄位即在偵錯程式裡執行了語句跳轉的使用者使用的終端機器ID,每臺連線到ABAP Netweaver伺服器上的機器都具有一個唯一的終端ID.

這些系統日誌檔案儲存的具體位置在哪?

點選Display Components,在Component trace皮膚裡,能有選擇性地檢視某種類別的系統日誌:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

其中/usr/sap/AG3/D56開頭的路徑,即是我當前登入的Application Server,ID為AG3,instance numeber 為56這臺伺服器的工作目錄:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

使用事務碼AL11沿著這條路徑找下去,在work子目錄就能發現這些系統日誌檔案:

有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中 有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中

普通ABAP使用者沒有作業系統的訪問許可權,也就不能對這些系統日誌檔案進行任何寫操作。

總而言之,一旦你使用單步除錯的方法繞過一些許可權檢查或者執行其他危險操作時,這些行為立即記錄在系統日誌裡,普通使用者無法刪除這些日誌檔案。

SAP系統的許可權控制體系設計得非常完善,當大家在實際工作中發現自己缺少某個事務的執行許可權時,請按照SAP許可權管控的標準流程去解決問題。透過ABAP單步除錯繞過許可權檢查,在任何情況下都絕非SAP推薦的解決方式。即便是大家想在開發系統上這樣做的之前,也務必三思而後行。

感謝閱讀,祝大家春節愉快。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2674322/,如需轉載,請註明出處,否則將追究法律責任。

相關文章