有了Debug許可權就能幹壞事?小心了,你的一舉一動盡在系統監控中
大家新年好! Jerry祝大家身體健康,鼠年大吉!
本文是鼠年第一篇文章,也是汪子熙公眾號第200篇原創文章。
昨天Jerry在家度過了有生以來年味最淡的一個除夕夜。為響應政府和專家的號召,沒有走親訪友,宅在家中,與親人和程式碼一起,度過了一個平靜的除夕夜。
所謂“平平淡淡才是福”,讓我們共同祈禱,期盼這場全人類的災難早點結束。
之前Jerry也閱讀過一些介紹如何通過ABAP單步除錯繞過SAP標準許可權檢查“小技巧”的文章,比如說在偵錯程式裡修改許可權檢查語句AUTHORITY-CHECK的返回值sy-subrc, 或者乾脆用偵錯程式的“跳轉到某條語句”這一功能,直接繞過許可權檢查語句。
雖然說在SAP生產系統裡,按照慣例,普通的業務使用者絕對不會有除錯的許可權,更別說在偵錯程式裡修改變數的值了,但如果是在開發系統裡,直接在偵錯程式裡修改變數的值,或是跳過某些語句的執行,真的就能夠不會被別人發現麼?
答案是否定的。
看個例子:
我在ABAP偵錯程式裡把變數的值從12改成123,回車使更改生效。
然後事務碼SM21,開啟系統日誌檢視工具:
我剛才在ABAP偵錯程式裡修改變數值的行為,赫然在案:
再試試在ABAP偵錯程式裡,使用“Goto statement”,直接跳過某些語句:
這一行為也逃不過系統日誌的記錄,甚至連我從第幾行ABAP程式碼跳轉到另外的第幾行,都清晰地記錄下來了。
Terminal欄位即在偵錯程式裡執行了語句跳轉的使用者使用的終端機器ID,每臺連線到ABAP Netweaver伺服器上的機器都具有一個唯一的終端ID.
這些系統日誌檔案儲存的具體位置在哪?
點選Display Components,在Component trace皮膚裡,能有選擇性地檢視某種類別的系統日誌:
其中/usr/sap/AG3/D56開頭的路徑,即是我當前登入的Application Server,ID為AG3,instance numeber 為56這臺伺服器的工作目錄:
使用事務碼AL11沿著這條路徑找下去,在work子目錄就能發現這些系統日誌檔案:
普通ABAP使用者沒有作業系統的訪問許可權,也就不能對這些系統日誌檔案進行任何寫操作。
總而言之,一旦你使用單步除錯的方法繞過一些許可權檢查或者執行其他危險操作時,這些行為立即記錄在系統日誌裡,普通使用者無法刪除這些日誌檔案。
SAP系統的許可權控制體系設計得非常完善,當大家在實際工作中發現自己缺少某個事務的執行許可權時,請按照SAP許可權管控的標準流程去解決問題。通過ABAP單步除錯繞過許可權檢查,在任何情況下都絕非SAP推薦的解決方式。即便是大家想在開發系統上這樣做的之前,也務必三思而後行。
感謝閱讀,祝大家春節愉快。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2674322/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 許可權系統:一文搞懂功能許可權、資料許可權
- 有贊許可權系統
- 惠普監控元件被爆LPE,可使用系統許可權元件
- Linux特殊許可權,這一篇就夠了Linux
- 關於許可權系統的一些思考
- 期盼已久的“庫許可權”來了
- 一文讀懂mysql許可權系統MySql
- 安卓動態獲取許可權看這一篇就夠了安卓
- mongodb 的許可權系統MongoDB
- 在MacOS系統中如何管理隱私許可權控制?Mac
- OA管理系統,有哪些許可權管理?
- 許可權管控
- 一分鐘奪回Windows系統許可權Windows
- 『學了就忘』Linux許可權管理 — 55、檔案特殊許可權Linux
- 一個好的代理IP有哪些許可權?
- 許可權系統:許可權應用服務設計
- mysql 給了使用者所有許可權ALL PRIVILEGES,但是該使用者沒有grant許可權MySql
- linux中安全和許可權那些事Linux
- 一步一步搭建,功能最全的許可權管理系統之動態路由選單(一)路由
- 一對一直播系統原始碼,後臺管理系統許可權控制方案原始碼
- 在Linux中,如何監控系統的效能?Linux
- 【專案實踐】一文帶你搞定頁面許可權、按鈕許可權以及資料許可權
- 『學了就忘』Linux許可權管理 — 56、不可改變位許可權(chattr)Linux
- capital許可監控工具API
- SpringSecurity許可權管理系統實戰—九、資料許可權的配置SpringGse
- 打造自己的系統許可權控制
- 許可權系統:6個許可權概念模型設計模型
- 許可權系統:許可權應用服務設計Tu
- 實時監控系統,統一監控企業APIAPI
- 自己動手,在macOS High Sierra中編譯一個可debug的JDKMac編譯JDK
- 系統開發中許可權控制的重要性
- Bauth許可權系統,基於ThinkPHP5開發 - 一個優秀的整合許可權管理的通用後臺PHP
- 『學了就忘』Linux許可權管理 — 54、sudo授權Linux
- 許可權維持專題:作業系統許可權維持作業系統
- 企業許可權管理系統
- Winner許可權管理系統3.0
- 一對一原始碼,前端頁面許可權和按鈕許可權控制原始碼前端
- Spring的許可權控制是怎麼一回事?Spring