有了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推荐的解决方式。即便是大家想在开发系统上这样做的之前,也务必三思而后行。
感谢阅读,祝大家春节愉快。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
有了Debug权限就能干坏事?小心了,你的一举一动尽在系统监控中相关推荐
- 上一秒投简历下一秒被裁 ?小心,你的一举一动可能都在监控中
金三银四即将到来,作为一年一度最热的跳槽季,不少打工人都翘首以盼,开始利用上班之余找寻合适自己的工作机会,然而最近关于监控的一场争议,却使得跳槽大军人人自危起来. 这场争议的开端还要追溯到上周知乎的裁 ...
- 读取其他进程的内存-让程序提升Debug权限
最近一直忙着写毕业论文,但对于我这种没语言天赋的人,写写实际做的工作还可以,但要写课题背景.意义什么的,头都要大了,憋了两天才憋出两页的绪论,我容易吗我... 所以这半个月也没时间更新博客,现在论文初 ...
- 基于云端的通用权限管理系统,SAAS服务,基于SAAS的权限管理,基于SAAS的单点登录SSO,企业单点登录,企业系统监控,企业授权认证中心...
基于云端的通用权限管理系统 SAAS服务 基于SAAS的权限管理 基于SAAS的单点登录SSO 基于.Net的SSO,单点登录系统,提供SAAS服务 基于Extjs 4.2 的企业信息管理系统 基于E ...
- 计算机咋么开远程桌面权限,怎么将win10系统电脑中的允许远程桌面访问权限打开...
怎么将win10系统电脑中的允许远程桌面访问权限打开 当我们在使用win10系统电脑的时候,如果需要进行远程桌面访问的话,需要先允许远程桌面访问,具体应如何操作呢?接下来就由小编来告诉大家. 具体如下 ...
- 通用权限管理系统组件 (GPM - General Permissions Manager) 在跨国直销企业电子商务项目中的成功应用...
我所在是一家跨国家直销公司,在亚太某国家电子商务项目中,2011年底系统全面应用了通用权限数据访问层类库及工具类库,支持了每月万级会员加入.千万级订单:同时,在我们的项目开发过程中,完全由外包工程师来 ...
- SAP中执行没有权限的事务 SAP跳过权限检查/前提是有debug权限
1,SE37,AUTH_CHECK_TCODE加断点: se37 ALINK_CALL_TRANSACTION///C160_TRANSACTION_CALL rz11 debug run T-COD ...
- 如何使用命令行 群晖_群晖Nas系统篇:拿回root账户权限,适用6.2及以上(7.0)系统...
最近升级硬盘,难免的要各种折腾,群晖对我们来讲,最大意义就是数据本身了,我群晖上都有超过百G的软件项目部署在群晖git上,所以重点就是如何无缝的转移这些资料,至于其他什么大片的就无所谓了,现在网络那么 ...
- 不小心删了(或覆盖了)window系统变量的PATH的怎么办?
=>快速入口 找一台和你系统差不多的电脑,新建一个path,把它的变量值复制进去就可以了.window的电脑,系统的变量都是差不多的. 可以用一下我的,window,64位: C:\Window ...
- happyCode(11start) 权限控制 shiro 密码MD5安全加密,密码盐,系统用户认证
用户:匿名权限(游客,不需要登入就具备的权限) 用户认证:是一个真正的用户 权限认证:是否具有一些特权,菜单权限,按钮权限,url访问权限 从最简单的用户登入.登出开始(11start)-->权 ...
最新文章
- 快手二面:Java 里的 for (;;) 与 while (true),哪个更快?
- dns劫持简介 https流量数据获取原理
- 黑苹果睡眠无法唤醒_电脑睡眠后无法唤醒怎么办?
- python舵机控制程序_树莓派PWM控制舵机的两种方式
- 图的邻接矩阵简单实现Win32版本
- 事务超时时间无效_阿里分布式事务组件 fescar/seata 对 XA 2PC 的改进及其设计思想...
- C语言学习之用指针处理,输入a和 b两个整数,按先大后小的顺序输出a和 b
- SAP fiori backend determine cache setting
- 第三次作业-Scrum
- [Oracle]使用非滚动游标
- darknet集成遇到的问题以及解决方法
- 国外程序员薪资曝光,美国最高,均年薪95879美元
- 从零学ELK系列(六):Docker安装Logstash(超详细图文教程)
- linux单块网卡绑定多个ip及网卡聚合绑定多个ip方法
- COCOS2D-X编译成android的项目
- ES6中变量的解构赋值
- 802.1D生成树STP协议
- 信号与系统——有关卷积的意义
- 数据结构(c语言版)各章内容总结
- python3实用小工具--商品库存查看工具(附源码)
热门文章
- css selector的优先级
- 方立勋_30天掌握JavaWeb_自定义标签
- The connection to adb is down, and a severe error has occured.问题解决方法小结
- 1.4 面向对象的基本概念
- 今天分享下移动端rem 适配
- CSS——Position定位
- C#中的where泛型约束中的new()使用(转)
- Web Deploy发布网站及常见问题解决方法(图文)
- apk 签名v1与v2的区别
- 机器学习文献中的英文(part1)